Merge lp:~veger/ubuntu/precise/mc/fix-for-905610-v2 into lp:ubuntu/precise/mc

Proposed by Maarten Bezemer
Status: Merged
Merge reported by: Julian Taylor
Merged at revision: not available
Proposed branch: lp:~veger/ubuntu/precise/mc/fix-for-905610-v2
Merge into: lp:ubuntu/precise/mc
Diff against target: 708233 lines (+333652/-296566)
1003 files modified
.pc/04_add_gem_extension.patch/misc/mc.ext.in (+684/-0)
.pc/05_disable_internal_editor.patch/src/main.c (+601/-0)
.pc/06_use_default_pdf_viewer.patch/misc/mc.ext.in (+684/-0)
.pc/08_use_sensible-editor.patch/lib/global.h (+290/-0)
.pc/09_uzip_broken_528239.patch/src/vfs/extfs/helpers/uzip.in (+471/-0)
.pc/10_use_default_images_viewer.patch/misc/mc.ext.in (+684/-0)
.pc/84_use_dvicat_instead_of_dvi2tty.patch/misc/mc.ext.in (+684/-0)
.pc/99_detect_alt_editor.patch/src/args.c (+749/-0)
.pc/applied-patches (+14/-11)
.pc/debian/03_use_awk.patch/configure (+0/-30481)
.pc/debian/04_add_gem_extension.patch/misc/mc.ext.in (+0/-665)
.pc/debian/05_disable_internal_editor.patch/src/cmd.c (+0/-1406)
.pc/debian/06_use_default_pdf_viewer.patch/misc/mc.ext.in (+0/-665)
.pc/debian/08_use_sensible-editor.patch/lib/util.h (+0/-306)
.pc/debian/09_uzip_broken_528239.patch/lib/vfs/mc-vfs/extfs/uzip.in (+0/-471)
.pc/debian/10_use_default_images_viewer.patch/misc/mc.ext.in (+0/-665)
.pc/debian/20_wrong_path_to_wrappers.patch/contrib/mc.csh.in (+0/-1)
.pc/debian/20_wrong_path_to_wrappers.patch/contrib/mc.sh.in (+0/-3)
.pc/debian/84_use_dvicat_instead_of_dvi2tty.patch/misc/mc.ext.in (+0/-665)
.pc/debian/99_detect_alt_editor.patch/src/main.c (+0/-2259)
.pc/ext_cpio-xz.patch/misc/mc.ext.in (+684/-0)
.pc/ext_libreoffice.patch/misc/mc.ext.in (+684/-0)
.pc/man_mc.patch/doc/man/mc.1.in (+4188/-0)
.pc/man_spelling.patch/doc/man/mc.1.in (+4188/-0)
.pc/man_spelling.patch/doc/man/mcedit.1.in (+667/-0)
.pc/mcedit_auto_indent.patch/src/editor/edit.c (+4369/-0)
.pc/mcedit_max-size.patch/src/editor/edit-impl.h (+316/-0)
.pc/pending/99_enable_reading_debs.patch/lib/vfs/mc-vfs/extfs/deb.in (+0/-200)
AUTHORS (+4/-0)
COPYING (+637/-336)
INSTALL (+10/-29)
Makefile.am (+8/-1)
Makefile.in (+32/-11)
NEWS (+508/-131)
README (+2/-2)
acinclude.m4 (+7/-3)
aclocal.m4 (+48/-19)
build-glib2.sh (+13/-15)
config.h.in (+43/-51)
config/ltmain.sh (+2620/-1390)
configure (+5115/-4074)
configure.ac (+167/-158)
contrib/Makefile.am (+1/-1)
contrib/Makefile.in (+26/-9)
contrib/dist/Makefile.am (+2/-2)
contrib/dist/Makefile.in (+29/-15)
contrib/dist/debian/Makefile.in (+25/-8)
contrib/dist/gentoo/Makefile.in (+25/-8)
contrib/dist/mc.qpg.in (+0/-229)
contrib/dist/redhat/Makefile.in (+25/-8)
contrib/dist/redhat/mc.spec.in (+19/-8)
contrib/mc.csh.in (+1/-1)
contrib/mc.sh.in (+1/-1)
contrib/mcserv.init (+0/-68)
contrib/mcserv.pamd (+0/-6)
debian/changelog (+121/-0)
debian/compat (+1/-1)
debian/control (+33/-8)
debian/copyright (+163/-31)
debian/desktopfiles/mc.desktop (+0/-20)
debian/desktopfiles/mc.svg (+0/-1147)
debian/doc-base (+0/-8)
debian/extra/icon/mc.xpm (+0/-45)
debian/extra/mcmfmt.1 (+0/-15)
debian/icons/mc.svg (+1147/-0)
debian/icons/mc.xpm (+45/-0)
debian/lintian/mc (+0/-4)
debian/manpages (+0/-1)
debian/mc-data.doc-base (+8/-0)
debian/mc-data.docs (+6/-0)
debian/mc-data.install (+5/-0)
debian/mc-data.links (+9/-0)
debian/mc.NEWS (+15/-0)
debian/mc.desktop (+20/-0)
debian/mc.docs (+0/-8)
debian/mc.install (+5/-24)
debian/mc.install.linux (+0/-25)
debian/mc.links (+5/-0)
debian/mc.lintian-overrides (+4/-0)
debian/mc.menu (+8/-0)
debian/mc.postinst (+6/-2)
debian/mc.postrm (+6/-2)
debian/mc.preinst (+10/-0)
debian/mc.prerm (+0/-2)
debian/menu (+0/-8)
debian/patches/04_add_gem_extension.patch (+19/-0)
debian/patches/05_disable_internal_editor.patch (+19/-0)
debian/patches/06_use_default_pdf_viewer.patch (+15/-0)
debian/patches/08_use_sensible-editor.patch (+20/-0)
debian/patches/09_uzip_broken_528239.patch (+26/-0)
debian/patches/10_use_default_images_viewer.patch (+15/-0)
debian/patches/84_use_dvicat_instead_of_dvi2tty.patch (+17/-0)
debian/patches/99_detect_alt_editor.patch (+21/-0)
debian/patches/README (+0/-6)
debian/patches/debian/03_use_awk.patch (+0/-15)
debian/patches/debian/04_add_gem_extension.patch (+0/-15)
debian/patches/debian/05_disable_internal_editor.patch (+0/-15)
debian/patches/debian/06_use_default_pdf_viewer.patch (+0/-15)
debian/patches/debian/08_use_sensible-editor.patch (+0/-16)
debian/patches/debian/09_uzip_broken_528239.patch (+0/-16)
debian/patches/debian/10_use_default_images_viewer.patch (+0/-15)
debian/patches/debian/20_wrong_path_to_wrappers.patch (+0/-18)
debian/patches/debian/84_use_dvicat_instead_of_dvi2tty.patch (+0/-17)
debian/patches/debian/99_detect_alt_editor.patch (+0/-15)
debian/patches/ext_cpio-xz.patch (+21/-0)
debian/patches/ext_libreoffice.patch (+33/-0)
debian/patches/man_mc.patch (+21/-0)
debian/patches/man_spelling.patch (+37/-0)
debian/patches/mcedit_auto_indent.patch (+18/-0)
debian/patches/mcedit_max-size.patch (+20/-0)
debian/patches/pending/99_enable_reading_debs.patch (+0/-23)
debian/patches/series (+15/-11)
debian/rules (+44/-24)
debian/source/include-binaries (+1/-1)
debian/watch (+1/-1)
doc/COPYING (+637/-336)
doc/FAQ (+5/-5)
doc/HACKING (+2/-3)
doc/INSTALL (+10/-29)
doc/Makefile.am (+1/-1)
doc/Makefile.in (+26/-9)
doc/NEWS (+508/-131)
doc/README (+2/-2)
doc/README.QNX (+0/-5)
doc/TODO (+0/-6)
doc/hints/Makefile.am (+12/-9)
doc/hints/Makefile.in (+51/-33)
doc/hints/mc.hint (+2/-2)
doc/hints/mc.hint.cs (+2/-2)
doc/hints/mc.hint.es (+2/-2)
doc/hints/mc.hint.hu (+2/-2)
doc/hints/mc.hint.it (+2/-2)
doc/hints/mc.hint.nl (+2/-2)
doc/hints/mc.hint.pl (+2/-2)
doc/hints/mc.hint.ru (+2/-2)
doc/hints/mc.hint.sr (+2/-2)
doc/hints/mc.hint.uk (+2/-2)
doc/hints/mc.hint.zh (+2/-2)
doc/hlp/Makefile.am (+7/-4)
doc/hlp/Makefile.in (+51/-34)
doc/hlp/es/Makefile.am (+3/-9)
doc/hlp/es/Makefile.in (+55/-36)
doc/hlp/es/xnc.hlp (+274/-847)
doc/hlp/hlp-lang-include.am (+10/-0)
doc/hlp/hu/Makefile.am (+3/-9)
doc/hlp/hu/Makefile.in (+55/-36)
doc/hlp/hu/xnc.hlp (+274/-410)
doc/hlp/it/Makefile.am (+3/-10)
doc/hlp/it/Makefile.in (+55/-36)
doc/hlp/it/xnc.hlp (+273/-403)
doc/hlp/pl/Makefile.am (+3/-9)
doc/hlp/pl/Makefile.in (+55/-36)
doc/hlp/pl/xnc.hlp (+273/-403)
doc/hlp/ru/Makefile.am (+3/-9)
doc/hlp/ru/Makefile.in (+55/-36)
doc/hlp/ru/xnc.hlp (+274/-811)
doc/hlp/sr/Makefile.am (+3/-9)
doc/hlp/sr/Makefile.in (+55/-36)
doc/hlp/sr/xnc.hlp (+274/-845)
doc/hlp/xnc.hlp (+273/-403)
doc/keybind-migration.txt (+484/-0)
doc/man/Makefile.am (+11/-4)
doc/man/Makefile.in (+73/-69)
doc/man/date-of-man-include.am (+24/-0)
doc/man/es/Makefile.am (+7/-0)
doc/man/es/Makefile.in (+56/-11)
doc/man/es/mc.1.in (+93/-122)
doc/man/hu/Makefile.am (+7/-0)
doc/man/hu/Makefile.in (+56/-11)
doc/man/hu/mc.1.in (+209/-95)
doc/man/it/Makefile.am (+7/-0)
doc/man/it/Makefile.in (+56/-11)
doc/man/it/mc.1.in (+184/-100)
doc/man/mc.1.in (+685/-397)
doc/man/mcedit.1.in (+140/-42)
doc/man/mcserv.8.in (+0/-68)
doc/man/mcview.1.in (+5/-5)
doc/man/pl/Makefile.am (+7/-0)
doc/man/pl/Makefile.in (+56/-11)
doc/man/pl/mc.1.in (+212/-99)
doc/man/ru/Makefile.am (+7/-0)
doc/man/ru/Makefile.in (+56/-11)
doc/man/ru/mc.1.in (+974/-649)
doc/man/sr/Makefile.am (+8/-4)
doc/man/sr/Makefile.in (+68/-66)
doc/man/sr/mc.1.in (+88/-120)
doc/man/sr/mcserv.8.in (+0/-67)
intl/plural.c (+50/-42)
lib/Makefile.am (+40/-11)
lib/Makefile.in (+255/-73)
lib/charsets.c (+575/-0)
lib/charsets.h (+109/-0)
lib/event-types.h (+85/-0)
lib/event.h (+45/-0)
lib/event/Makefile.am (+12/-0)
lib/event/Makefile.in (+660/-0)
lib/event/event.c (+130/-0)
lib/event/internal.h (+31/-0)
lib/event/manage.c (+224/-0)
lib/event/raise.c (+75/-0)
lib/filehighlight.h (+7/-3)
lib/filehighlight/Makefile.in (+65/-32)
lib/filehighlight/common.c (+34/-39)
lib/filehighlight/get-color.c (+30/-23)
lib/filehighlight/ini-file-read.c (+58/-73)
lib/filehighlight/internal.h (+11/-8)
lib/fileloc.h (+66/-36)
lib/fs.h (+40/-11)
lib/glibcompat.c (+18/-18)
lib/glibcompat.h (+1/-0)
lib/global.c (+128/-0)
lib/global.h (+203/-51)
lib/hook.c (+137/-0)
lib/hook.h (+34/-0)
lib/keybind.c (+461/-0)
lib/keybind.h (+352/-0)
lib/lock.c (+318/-0)
lib/lock.h (+27/-0)
lib/logging.c (+136/-51)
lib/logging.h (+14/-3)
lib/mcconfig.h (+59/-37)
lib/mcconfig/Makefile.am (+5/-3)
lib/mcconfig/Makefile.in (+83/-36)
lib/mcconfig/common.c (+67/-53)
lib/mcconfig/get.c (+74/-81)
lib/mcconfig/paths.c (+505/-0)
lib/mcconfig/set.c (+86/-85)
lib/search.h (+21/-17)
lib/search/Makefile.in (+76/-40)
lib/search/glob.c (+81/-79)
lib/search/hex.c (+40/-36)
lib/search/internal.h (+11/-8)
lib/search/lib.c (+28/-27)
lib/search/normal.c (+35/-32)
lib/search/regex.c (+444/-137)
lib/search/search.c (+53/-43)
lib/serialize.c (+346/-0)
lib/serialize.h (+27/-0)
lib/skin.h (+82/-49)
lib/skin/Makefile.in (+76/-40)
lib/skin/colors-old.c (+109/-78)
lib/skin/colors.c (+83/-68)
lib/skin/common.c (+46/-40)
lib/skin/hc-skins.c (+50/-26)
lib/skin/ini-file.c (+24/-26)
lib/skin/internal.h (+6/-2)
lib/skin/lines.c (+41/-34)
lib/strescape.h (+1/-1)
lib/strutil.h (+158/-101)
lib/strutil/Makefile.am (+2/-1)
lib/strutil/Makefile.in (+88/-41)
lib/strutil/strescape.c (+32/-25)
lib/strutil/strutil.c (+232/-184)
lib/strutil/strutil8bit.c (+284/-241)
lib/strutil/strutilascii.c (+199/-242)
lib/strutil/strutilutf8.c (+431/-429)
lib/strutil/strverscmp.c (+121/-0)
lib/timefmt.c (+145/-0)
lib/timefmt.h (+46/-24)
lib/tty/Makefile.am (+10/-3)
lib/tty/Makefile.in (+103/-61)
lib/tty/color-internal.c (+135/-46)
lib/tty/color-internal.h (+30/-19)
lib/tty/color-ncurses.c (+78/-40)
lib/tty/color-slang.c (+89/-31)
lib/tty/color-slang.h (+35/-14)
lib/tty/color.c (+56/-71)
lib/tty/color.h (+23/-14)
lib/tty/key.c (+921/-506)
lib/tty/key.h (+63/-53)
lib/tty/keyxdef.c (+71/-39)
lib/tty/mouse.c (+78/-33)
lib/tty/mouse.h (+53/-31)
lib/tty/tty-internal.h (+30/-19)
lib/tty/tty-ncurses.c (+175/-95)
lib/tty/tty-ncurses.h (+28/-16)
lib/tty/tty-slang.c (+235/-114)
lib/tty/tty-slang.h (+32/-19)
lib/tty/tty.c (+210/-59)
lib/tty/tty.h (+69/-45)
lib/tty/win.c (+64/-41)
lib/tty/win.h (+15/-7)
lib/tty/x11conn.c (+59/-36)
lib/tty/x11conn.h (+14/-4)
lib/unixcompat.h (+24/-11)
lib/util.c (+466/-627)
lib/util.h (+96/-178)
lib/utilunix.c (+725/-429)
lib/utilunix.h (+25/-0)
lib/vfs/HACKING (+106/-0)
lib/vfs/Makefile.am (+19/-1)
lib/vfs/Makefile.in (+169/-209)
lib/vfs/README (+70/-0)
lib/vfs/direntry.c (+1562/-0)
lib/vfs/gc.c (+305/-0)
lib/vfs/gc.h (+35/-0)
lib/vfs/interface.c (+778/-0)
lib/vfs/mc-vfs/HACKING (+0/-108)
lib/vfs/mc-vfs/Makefile.am (+0/-147)
lib/vfs/mc-vfs/Makefile.in (+0/-959)
lib/vfs/mc-vfs/README (+0/-70)
lib/vfs/mc-vfs/README.fish (+0/-178)
lib/vfs/mc-vfs/cpio.c (+0/-708)
lib/vfs/mc-vfs/direntry.c (+0/-1271)
lib/vfs/mc-vfs/extfs.c (+0/-1591)
lib/vfs/mc-vfs/extfs/Makefile.am (+0/-75)
lib/vfs/mc-vfs/extfs/Makefile.in (+0/-716)
lib/vfs/mc-vfs/extfs/README (+0/-197)
lib/vfs/mc-vfs/extfs/README.extfs (+0/-67)
lib/vfs/mc-vfs/extfs/a+.in (+0/-124)
lib/vfs/mc-vfs/extfs/apt+.in (+0/-359)
lib/vfs/mc-vfs/extfs/audio.in (+0/-53)
lib/vfs/mc-vfs/extfs/bpp (+0/-50)
lib/vfs/mc-vfs/extfs/deb.in (+0/-200)
lib/vfs/mc-vfs/extfs/deba.in (+0/-107)
lib/vfs/mc-vfs/extfs/debd.in (+0/-362)
lib/vfs/mc-vfs/extfs/dpkg+.in (+0/-337)
lib/vfs/mc-vfs/extfs/hp48+.in (+0/-98)
lib/vfs/mc-vfs/extfs/iso9660.in (+0/-89)
lib/vfs/mc-vfs/extfs/lslR.in (+0/-69)
lib/vfs/mc-vfs/extfs/mailfs.in (+0/-209)
lib/vfs/mc-vfs/extfs/patchfs.in (+0/-387)
lib/vfs/mc-vfs/extfs/rpm (+0/-310)
lib/vfs/mc-vfs/extfs/rpms+.in (+0/-66)
lib/vfs/mc-vfs/extfs/s3+.in (+0/-414)
lib/vfs/mc-vfs/extfs/sfs.ini (+0/-28)
lib/vfs/mc-vfs/extfs/trpm (+0/-176)
lib/vfs/mc-vfs/extfs/u7z (+0/-79)
lib/vfs/mc-vfs/extfs/uace.in (+0/-58)
lib/vfs/mc-vfs/extfs/ualz.in (+0/-68)
lib/vfs/mc-vfs/extfs/uar.in (+0/-60)
lib/vfs/mc-vfs/extfs/uarc.in (+0/-82)
lib/vfs/mc-vfs/extfs/uarj.in (+0/-75)
lib/vfs/mc-vfs/extfs/uc1541.in (+0/-70)
lib/vfs/mc-vfs/extfs/ucab (+0/-40)
lib/vfs/mc-vfs/extfs/uha.in (+0/-52)
lib/vfs/mc-vfs/extfs/ulha.in (+0/-142)
lib/vfs/mc-vfs/extfs/urar.in (+0/-108)
lib/vfs/mc-vfs/extfs/uzip.in (+0/-471)
lib/vfs/mc-vfs/extfs/uzoo.in (+0/-65)
lib/vfs/mc-vfs/fish.c (+0/-1263)
lib/vfs/mc-vfs/fish.h (+0/-14)
lib/vfs/mc-vfs/ftpfs.c (+0/-2174)
lib/vfs/mc-vfs/ftpfs.h (+0/-30)
lib/vfs/mc-vfs/gc.c (+0/-315)
lib/vfs/mc-vfs/gc.h (+0/-32)
lib/vfs/mc-vfs/local.c (+0/-339)
lib/vfs/mc-vfs/local.h (+0/-22)
lib/vfs/mc-vfs/mcfs.c (+0/-1258)
lib/vfs/mc-vfs/mcfs.h (+0/-62)
lib/vfs/mc-vfs/mcfsutil.c (+0/-213)
lib/vfs/mc-vfs/mcfsutil.h (+0/-29)
lib/vfs/mc-vfs/mcserv.c (+0/-1384)
lib/vfs/mc-vfs/netutil.c (+0/-183)
lib/vfs/mc-vfs/netutil.h (+0/-13)
lib/vfs/mc-vfs/samba/Makefile.in (+0/-171)
lib/vfs/mc-vfs/samba/aclocal.m4 (+0/-61)
lib/vfs/mc-vfs/samba/configure (+0/-9474)
lib/vfs/mc-vfs/samba/configure.ac (+0/-593)
lib/vfs/mc-vfs/samba/include/byteorder.h (+0/-226)
lib/vfs/mc-vfs/samba/include/charset.h (+0/-73)
lib/vfs/mc-vfs/samba/include/client.h (+0/-143)
lib/vfs/mc-vfs/samba/include/config.h.in (+0/-570)
lib/vfs/mc-vfs/samba/include/includes.h (+0/-597)
lib/vfs/mc-vfs/samba/include/kanji.h (+0/-171)
lib/vfs/mc-vfs/samba/include/local.h (+0/-198)
lib/vfs/mc-vfs/samba/include/nameserv.h (+0/-521)
lib/vfs/mc-vfs/samba/include/nterr.h (+0/-507)
lib/vfs/mc-vfs/samba/include/proto.h (+0/-620)
lib/vfs/mc-vfs/samba/include/smb.h (+0/-1739)
lib/vfs/mc-vfs/samba/include/stamp-h.in (+0/-1)
lib/vfs/mc-vfs/samba/include/trans2.h (+0/-265)
lib/vfs/mc-vfs/samba/include/version.h (+0/-1)
lib/vfs/mc-vfs/samba/internals.doc (+0/-212)
lib/vfs/mc-vfs/samba/lib/charcnv.c (+0/-232)
lib/vfs/mc-vfs/samba/lib/charset.c (+0/-397)
lib/vfs/mc-vfs/samba/lib/debug.c (+0/-385)
lib/vfs/mc-vfs/samba/lib/interface.c (+0/-382)
lib/vfs/mc-vfs/samba/lib/kanji.c (+0/-1235)
lib/vfs/mc-vfs/samba/lib/md4.c (+0/-170)
lib/vfs/mc-vfs/samba/lib/netmask.c (+0/-370)
lib/vfs/mc-vfs/samba/lib/slprintf.c (+0/-66)
lib/vfs/mc-vfs/samba/lib/system.c (+0/-308)
lib/vfs/mc-vfs/samba/lib/time.c (+0/-543)
lib/vfs/mc-vfs/samba/lib/username.c (+0/-419)
lib/vfs/mc-vfs/samba/lib/util.c (+0/-2908)
lib/vfs/mc-vfs/samba/lib/util_file.c (+0/-330)
lib/vfs/mc-vfs/samba/lib/util_sock.c (+0/-884)
lib/vfs/mc-vfs/samba/lib/util_str.c (+0/-1098)
lib/vfs/mc-vfs/samba/libsmb/clientgen.c (+0/-2851)
lib/vfs/mc-vfs/samba/libsmb/namequery.c (+0/-555)
lib/vfs/mc-vfs/samba/libsmb/nmblib.c (+0/-968)
lib/vfs/mc-vfs/samba/libsmb/nterr.c (+0/-539)
lib/vfs/mc-vfs/samba/libsmb/pwd_cache.c (+0/-254)
lib/vfs/mc-vfs/samba/libsmb/smbdes.c (+0/-399)
lib/vfs/mc-vfs/samba/libsmb/smbencrypt.c (+0/-191)
lib/vfs/mc-vfs/samba/libsmb/smberr.c (+0/-181)
lib/vfs/mc-vfs/samba/param/loadparm.c (+0/-2454)
lib/vfs/mc-vfs/samba/param/params.c (+0/-572)
lib/vfs/mc-vfs/samba/parsing.doc (+0/-363)
lib/vfs/mc-vfs/sfs.c (+0/-468)
lib/vfs/mc-vfs/smbfs.c (+0/-2007)
lib/vfs/mc-vfs/smbfs.h (+0/-14)
lib/vfs/mc-vfs/tar.c (+0/-811)
lib/vfs/mc-vfs/undelfs.c (+0/-766)
lib/vfs/mc-vfs/utilvfs.c (+0/-824)
lib/vfs/mc-vfs/utilvfs.h (+0/-52)
lib/vfs/mc-vfs/vfs-impl.h (+0/-154)
lib/vfs/mc-vfs/vfs.c (+0/-1367)
lib/vfs/mc-vfs/vfs.h (+0/-249)
lib/vfs/mc-vfs/xdirentry.h (+0/-214)
lib/vfs/netutil.c (+79/-0)
lib/vfs/netutil.h (+26/-0)
lib/vfs/parse_ls_vga.c (+878/-0)
lib/vfs/path.c (+1038/-0)
lib/vfs/path.h (+80/-0)
lib/vfs/utilvfs.c (+351/-0)
lib/vfs/utilvfs.h (+63/-0)
lib/vfs/vfs.c (+638/-0)
lib/vfs/vfs.h (+307/-0)
lib/vfs/xdirentry.h (+194/-0)
lib/widget.h (+49/-0)
lib/widget/Makefile.am (+27/-0)
lib/widget/Makefile.in (+828/-0)
lib/widget/button.c (+273/-0)
lib/widget/button.h (+53/-0)
lib/widget/buttonbar.c (+284/-0)
lib/widget/buttonbar.h (+61/-0)
lib/widget/check.c (+147/-0)
lib/widget/check.h (+33/-0)
lib/widget/dialog-switch.c (+410/-0)
lib/widget/dialog-switch.h (+39/-0)
lib/widget/dialog.c (+1271/-0)
lib/widget/dialog.h (+230/-0)
lib/widget/gauge.c (+176/-0)
lib/widget/gauge.h (+34/-0)
lib/widget/groupbox.c (+122/-0)
lib/widget/groupbox.h (+29/-0)
lib/widget/history.c (+388/-0)
lib/widget/history.h (+36/-0)
lib/widget/hline.c (+126/-0)
lib/widget/hline.h (+30/-0)
lib/widget/input.c (+1342/-0)
lib/widget/input.h (+99/-0)
lib/widget/input_complete.c (+1360/-0)
lib/widget/input_complete.h (+18/-0)
lib/widget/label.c (+182/-0)
lib/widget/label.h (+32/-0)
lib/widget/listbox-window.c (+147/-0)
lib/widget/listbox-window.h (+35/-0)
lib/widget/listbox.c (+705/-0)
lib/widget/listbox.h (+76/-0)
lib/widget/menu.c (+901/-0)
lib/widget/menu.h (+78/-0)
lib/widget/quick.c (+205/-0)
lib/widget/quick.h (+237/-0)
lib/widget/radio.c (+203/-0)
lib/widget/radio.h (+32/-0)
lib/widget/widget-common.c (+229/-0)
lib/widget/widget-common.h (+135/-0)
lib/widget/wtools.c (+523/-0)
lib/widget/wtools.h (+52/-0)
m4.include/ac-g-module-supported.m4 (+0/-25)
m4.include/ac-get-fs-info.m4 (+0/-654)
m4.include/ac-glib.m4 (+98/-0)
m4.include/ax_path_lib_pcre.m4 (+2/-2)
m4.include/fstypename.m4 (+23/-0)
m4.include/fsusage.m4 (+323/-0)
m4.include/ls-mntd-fs.m4 (+357/-0)
m4.include/mc-cflags.m4 (+8/-3)
m4.include/mc-check-search-type.m4 (+2/-2)
m4.include/mc-get-fs-info.m4 (+49/-0)
m4.include/mc-mcserver.m4 (+0/-69)
m4.include/mc-tests.m4 (+25/-0)
m4.include/mc-vfs.m4 (+41/-51)
m4.include/mc-with-screen-ncurses.m4 (+2/-2)
m4.include/mc-with-screen-slang.m4 (+4/-4)
m4.include/mountlist.m4 (+19/-0)
m4.include/vfs/mc-mvfs.m4 (+0/-41)
m4.include/vfs/mc-vfs-cpiofs.m4 (+3/-3)
m4.include/vfs/mc-vfs-extfs.m4 (+3/-4)
m4.include/vfs/mc-vfs-fish.m4 (+4/-4)
m4.include/vfs/mc-vfs-ftp.m4 (+3/-3)
m4.include/vfs/mc-vfs-mcfs.m4 (+0/-17)
m4.include/vfs/mc-vfs-samba.m4 (+59/-47)
m4.include/vfs/mc-vfs-sfs.m4 (+4/-4)
m4.include/vfs/mc-vfs-tarfs.m4 (+3/-3)
m4.include/vfs/mc-vfs-undelfs.m4 (+17/-12)
m4/libtool.m4 (+1260/-785)
m4/ltoptions.m4 (+7/-6)
m4/ltversion.m4 (+6/-6)
m4/lt~obsolete.m4 (+9/-3)
misc/Makefile.am (+13/-15)
misc/Makefile.in (+34/-23)
misc/cedit.menu (+0/-468)
misc/filehighlight.ini (+6/-4)
misc/macros.d/Makefile.am (+13/-0)
misc/macros.d/Makefile.in (+553/-0)
misc/macros.d/macro.0.sh (+5/-0)
misc/macros.d/macro.1.sh (+6/-0)
misc/macros.d/macro.3.sh (+6/-0)
misc/macros.d/macro.4.sh (+3/-0)
misc/macros.d/macro.5.sh (+41/-0)
misc/macros.d/macro.6.sh (+5/-0)
misc/macros.d/macro.7.sh (+5/-0)
misc/mc.charsets (+1/-1)
misc/mc.ext.in (+79/-56)
misc/mc.keymap (+419/-344)
misc/mc.keymap.default (+419/-344)
misc/mc.keymap.emacs (+422/-348)
misc/mc.menu (+1/-1)
misc/mcedit.menu (+486/-0)
misc/skins/Makefile.am (+10/-4)
misc/skins/Makefile.in (+33/-11)
misc/skins/dark.ini (+142/-0)
misc/skins/darkfar.ini (+54/-14)
misc/skins/default.ini (+50/-10)
misc/skins/double-lines.ini (+58/-15)
misc/skins/featured.ini (+65/-16)
misc/skins/gotar.ini (+49/-11)
misc/skins/mc46.ini (+119/-0)
misc/skins/nicedark.ini (+134/-0)
misc/skins/sand256.ini (+187/-0)
misc/skins/xoria256.ini (+183/-0)
misc/syntax/Makefile.am (+3/-7)
misc/syntax/Makefile.in (+37/-45)
misc/syntax/Syntax (+5/-2)
misc/syntax/ada95.syntax (+65/-63)
misc/syntax/aspx.syntax (+34/-34)
misc/syntax/assembler.syntax (+20/-102)
misc/syntax/awk.syntax (+72/-62)
misc/syntax/cabal.syntax (+169/-154)
misc/syntax/cs.syntax (+2/-2)
misc/syntax/css.syntax (+445/-473)
misc/syntax/cxx.syntax (+0/-2)
misc/syntax/cython.syntax (+304/-0)
misc/syntax/d.syntax (+457/-458)
misc/syntax/debian-changelog.syntax (+18/-18)
misc/syntax/debian-control.syntax (+20/-20)
misc/syntax/debian-description.syntax (+11/-12)
misc/syntax/debian-sources-list.syntax (+2/-2)
misc/syntax/dos.syntax (+59/-97)
misc/syntax/ebuild.syntax (+67/-67)
misc/syntax/eiffel.syntax (+99/-99)
misc/syntax/erlang.syntax (+241/-241)
misc/syntax/f90.syntax (+2/-0)
misc/syntax/filehighlight.syntax (+19/-19)
misc/syntax/fortran.syntax (+9/-8)
misc/syntax/haskell.syntax (+22/-22)
misc/syntax/html.syntax (+1105/-1104)
misc/syntax/js.syntax (+145/-145)
misc/syntax/latex.syntax (+2/-3)
misc/syntax/lisp.syntax (+2/-2)
misc/syntax/lsm.syntax (+22/-23)
misc/syntax/lua.syntax (+26/-4)
misc/syntax/m4.syntax (+90/-91)
misc/syntax/mail.syntax (+0/-1)
misc/syntax/ml.syntax (+0/-1)
misc/syntax/named.syntax (+2/-2)
misc/syntax/nemerle.syntax (+0/-2)
misc/syntax/nroff.syntax (+0/-2)
misc/syntax/pascal.syntax (+10/-213)
misc/syntax/php.syntax (+5/-6)
misc/syntax/procmail.syntax (+249/-249)
misc/syntax/properties.syntax (+4/-4)
misc/syntax/python.syntax (+30/-32)
misc/syntax/ruby.syntax (+12/-7)
misc/syntax/sh.syntax (+1760/-1761)
misc/syntax/smalltalk.syntax (+1/-3)
misc/syntax/spec.syntax (+189/-189)
misc/syntax/sql.syntax (+4/-286)
misc/syntax/strace.syntax (+41/-42)
misc/syntax/swig.syntax (+0/-2)
misc/syntax/syntax.syntax (+1/-0)
misc/syntax/tcl.syntax (+135/-135)
misc/syntax/texinfo.syntax (+1/-1)
misc/syntax/tt.syntax (+5/-5)
misc/syntax/verilog.syntax (+190/-190)
misc/syntax/vhdl.syntax (+160/-158)
misc/syntax/xml.syntax (+32/-32)
misc/syntax/yum-repo.syntax (+6/-6)
misc/syntax/yxx.syntax (+67/-2)
po/LINGUAS (+2/-2)
po/POTFILES.in (+48/-37)
po/az.po (+2569/-3223)
po/be.po (+2883/-3302)
po/be@tarask.po (+0/-4524)
po/bg.po (+2590/-3225)
po/ca.po (+2621/-3265)
po/cs.po (+2501/-2250)
po/da.po (+2906/-3397)
po/de.po (+2535/-2766)
po/el.po (+2493/-2402)
po/eo.po (+4110/-0)
po/es.po (+2557/-2240)
po/eu.po (+2952/-3398)
po/fi.po (+2483/-2718)
po/fi_FI.po (+3874/-0)
po/fr.po (+2446/-2979)
po/gl.po (+2687/-2801)
po/hu.po (+2699/-2514)
po/ia.po (+3861/-0)
po/id.po (+3861/-0)
po/it.po (+2543/-2354)
po/it_IT.po (+3859/-0)
po/ja.po (+2606/-3253)
po/ka.po (+3853/-0)
po/ko.po (+2786/-3406)
po/lt.po (+2564/-3091)
po/lv.po (+2585/-3224)
po/mc.pot (+3620/-3198)
po/mn.po (+2569/-3212)
po/nb.po (+2573/-3211)
po/nl.po (+2447/-2333)
po/pl.po (+2565/-2242)
po/pt.po (+2574/-3225)
po/pt_BR.po (+2611/-3209)
po/ro.po (+2570/-3207)
po/ru.po (+2584/-2256)
po/sk.po (+2437/-2959)
po/sl.po (+2616/-3239)
po/sr.po (+2570/-3190)
po/sv.po (+2566/-3269)
po/sv_SE.po (+3859/-0)
po/ta.po (+2420/-2401)
po/tr.po (+2567/-3222)
po/uk.po (+2866/-3144)
po/vi.po (+2547/-3097)
po/wa.po (+2549/-3113)
po/zh_CN.po (+2494/-2301)
po/zh_TW.po (+2573/-3228)
src/Makefile.am (+38/-86)
src/Makefile.in (+109/-327)
src/achown.c (+0/-729)
src/achown.h (+0/-11)
src/args.c (+407/-141)
src/args.h (+7/-6)
src/background.c (+472/-312)
src/background.h (+33/-13)
src/boxes.c (+0/-1100)
src/boxes.h (+0/-25)
src/charsets.c (+0/-445)
src/charsets.h (+0/-92)
src/chmod.c (+0/-384)
src/chmod.h (+0/-11)
src/chown.c (+0/-369)
src/chown.h (+0/-11)
src/clipboard.c (+216/-0)
src/clipboard.h (+33/-0)
src/cmd.c (+0/-1406)
src/cmd.h (+0/-68)
src/cmddef.h (+0/-430)
src/command.c (+0/-332)
src/command.h (+0/-17)
src/complete.c (+0/-1152)
src/cons.handler.c (+286/-205)
src/consaver/Makefile.in (+58/-26)
src/consaver/cons.saver.c (+212/-173)
src/consaver/cons.saver.h (+27/-16)
src/dialog.c (+0/-941)
src/dialog.h (+0/-273)
src/diffviewer/Makefile.am (+13/-0)
src/diffviewer/Makefile.in (+652/-0)
src/diffviewer/internal.h (+146/-0)
src/diffviewer/search.c (+308/-0)
src/diffviewer/ydiff.c (+3505/-0)
src/diffviewer/ydiff.h (+17/-0)
src/dir.c (+0/-608)
src/dir.h (+0/-73)
src/ecs-test.c (+0/-222)
src/ecs.c (+0/-344)
src/ecs.h (+0/-119)
src/editor/Makefile.am (+1/-1)
src/editor/Makefile.in (+108/-73)
src/editor/bookmark.c (+259/-148)
src/editor/choosesyntax.c (+95/-69)
src/editor/edit-impl.h (+148/-176)
src/editor/edit-widget.h (+82/-68)
src/editor/edit.c (+2519/-1944)
src/editor/edit.h (+24/-30)
src/editor/editcmd.c (+1682/-1558)
src/editor/editcmd_dialogs.c (+214/-194)
src/editor/editcmd_dialogs.h (+5/-3)
src/editor/editdraw.c (+334/-216)
src/editor/editkeys.c (+107/-62)
src/editor/editlock.c (+0/-265)
src/editor/editlock.h (+0/-15)
src/editor/editmenu.c (+210/-145)
src/editor/editoptions.c (+62/-42)
src/editor/editwidget.c (+278/-181)
src/editor/etags.c (+131/-71)
src/editor/etags.h (+29/-16)
src/editor/syntax.c (+1260/-935)
src/editor/wordproc.c (+267/-186)
src/events_init.c (+86/-0)
src/events_init.h (+19/-0)
src/execute.c (+281/-206)
src/execute.h (+32/-10)
src/ext.c (+0/-632)
src/ext.h (+0/-16)
src/file.c (+0/-2427)
src/file.h (+0/-57)
src/filegui.c (+0/-1144)
src/filegui.h (+0/-17)
src/filemanager/Makefile.am (+38/-0)
src/filemanager/Makefile.in (+877/-0)
src/filemanager/achown.c (+836/-0)
src/filemanager/achown.h (+21/-0)
src/filemanager/boxes.c (+1229/-0)
src/filemanager/boxes.h (+32/-0)
src/filemanager/chmod.c (+509/-0)
src/filemanager/chmod.h (+21/-0)
src/filemanager/chown.c (+389/-0)
src/filemanager/chown.h (+21/-0)
src/filemanager/cmd.c (+1731/-0)
src/filemanager/cmd.h (+103/-0)
src/filemanager/command.c (+410/-0)
src/filemanager/command.h (+27/-0)
src/filemanager/dir.c (+718/-0)
src/filemanager/dir.h (+66/-0)
src/filemanager/ext.c (+851/-0)
src/filemanager/ext.h (+25/-0)
src/filemanager/file.c (+2929/-0)
src/filemanager/file.h (+66/-0)
src/filemanager/filegui.c (+1147/-0)
src/filemanager/filegui.h (+44/-0)
src/filemanager/filenot.c (+175/-0)
src/filemanager/fileopctx.c (+129/-0)
src/filemanager/fileopctx.h (+199/-0)
src/filemanager/find.c (+1764/-0)
src/filemanager/find.h (+21/-0)
src/filemanager/hotlist.c (+1822/-0)
src/filemanager/hotlist.h (+28/-0)
src/filemanager/info.c (+346/-0)
src/filemanager/info.h (+24/-0)
src/filemanager/layout.c (+1204/-0)
src/filemanager/layout.h (+73/-0)
src/filemanager/listmode.c (+341/-0)
src/filemanager/listmode.h (+22/-0)
src/filemanager/midnight.c (+1687/-0)
src/filemanager/midnight.h (+52/-0)
src/filemanager/mountlist.c (+1566/-0)
src/filemanager/mountlist.h (+43/-0)
src/filemanager/option.c (+477/-0)
src/filemanager/option.h (+22/-0)
src/filemanager/panel.c (+4376/-0)
src/filemanager/panel.h (+180/-0)
src/filemanager/panelize.c (+652/-0)
src/filemanager/panelize.h (+28/-0)
src/filemanager/tree.c (+1301/-0)
src/filemanager/tree.h (+37/-0)
src/filemanager/treestore.c (+936/-0)
src/filemanager/treestore.h (+63/-0)
src/filemanager/usermenu.c (+1075/-0)
src/filemanager/usermenu.h (+30/-0)
src/filenot.c (+0/-132)
src/fileopctx.c (+0/-89)
src/fileopctx.h (+0/-166)
src/find.c (+0/-1372)
src/find.h (+0/-11)
src/help.c (+207/-123)
src/help.h (+28/-17)
src/history.h (+52/-36)
src/hotlist.c (+0/-1613)
src/hotlist.h (+0/-18)
src/info.c (+0/-314)
src/info.h (+0/-14)
src/keybind-defaults.c (+588/-0)
src/keybind-defaults.h (+57/-0)
src/keybind.c (+0/-990)
src/keybind.h (+0/-58)
src/layout.c (+0/-1170)
src/layout.h (+0/-55)
src/learn.c (+256/-197)
src/learn.h (+14/-4)
src/listmode.c (+0/-303)
src/listmode.h (+0/-13)
src/main-widgets.h (+0/-19)
src/main.c (+423/-2081)
src/main.h (+78/-124)
src/man2hlp.c (+0/-896)
src/man2hlp/Makefile.am (+1/-0)
src/man2hlp/Makefile.in (+498/-0)
src/man2hlp/man2hlp.in (+921/-0)
src/menu.c (+0/-787)
src/menu.h (+0/-76)
src/mfmt.c (+0/-137)
src/mountlist.c (+0/-916)
src/mountlist.h (+0/-41)
src/option.c (+0/-250)
src/option.h (+0/-11)
src/panel.h (+0/-161)
src/panelize.c (+0/-456)
src/panelize.h (+0/-14)
src/screen.c (+0/-3624)
src/selcodepage.c (+116/-68)
src/selcodepage.h (+21/-12)
src/setup.c (+910/-643)
src/setup.h (+103/-32)
src/subshell.c (+909/-792)
src/subshell.h (+35/-20)
src/textconf.c (+149/-75)
src/textconf.h (+16/-4)
src/tree.c (+0/-1169)
src/tree.h (+0/-25)
src/treestore.c (+0/-813)
src/treestore.h (+0/-50)
src/user.c (+0/-994)
src/user.h (+0/-19)
src/util.c (+73/-0)
src/util.h (+20/-0)
src/vfs/Makefile.am (+47/-0)
src/vfs/Makefile.in (+801/-0)
src/vfs/cpio/Makefile.am (+7/-0)
src/vfs/cpio/Makefile.in (+625/-0)
src/vfs/cpio/cpio.c (+864/-0)
src/vfs/cpio/cpio.h (+18/-0)
src/vfs/extfs/Makefile.am (+10/-0)
src/vfs/extfs/Makefile.in (+779/-0)
src/vfs/extfs/extfs.c (+1745/-0)
src/vfs/extfs/extfs.h (+18/-0)
src/vfs/extfs/helpers/Makefile.am (+77/-0)
src/vfs/extfs/helpers/Makefile.in (+737/-0)
src/vfs/extfs/helpers/README (+197/-0)
src/vfs/extfs/helpers/README.extfs (+72/-0)
src/vfs/extfs/helpers/a+.in (+124/-0)
src/vfs/extfs/helpers/apt+.in (+359/-0)
src/vfs/extfs/helpers/audio.in (+53/-0)
src/vfs/extfs/helpers/bpp (+50/-0)
src/vfs/extfs/helpers/changesetfs (+107/-0)
src/vfs/extfs/helpers/deb.in (+200/-0)
src/vfs/extfs/helpers/deba.in (+107/-0)
src/vfs/extfs/helpers/debd.in (+362/-0)
src/vfs/extfs/helpers/dpkg+.in (+337/-0)
src/vfs/extfs/helpers/gitfs+ (+37/-0)
src/vfs/extfs/helpers/hp48+.in (+98/-0)
src/vfs/extfs/helpers/iso9660.in (+103/-0)
src/vfs/extfs/helpers/lslR.in (+69/-0)
src/vfs/extfs/helpers/mailfs.in (+209/-0)
src/vfs/extfs/helpers/patchfs.in (+404/-0)
src/vfs/extfs/helpers/patchsetfs (+102/-0)
src/vfs/extfs/helpers/rpm (+307/-0)
src/vfs/extfs/helpers/rpms+.in (+66/-0)
src/vfs/extfs/helpers/s3+.in (+406/-0)
src/vfs/extfs/helpers/sfs.ini (+28/-0)
src/vfs/extfs/helpers/trpm (+176/-0)
src/vfs/extfs/helpers/u7z (+96/-0)
src/vfs/extfs/helpers/uace.in (+62/-0)
src/vfs/extfs/helpers/ualz.in (+68/-0)
src/vfs/extfs/helpers/uar.in (+60/-0)
src/vfs/extfs/helpers/uarc.in (+86/-0)
src/vfs/extfs/helpers/uarj.in (+75/-0)
src/vfs/extfs/helpers/uc1541.in (+74/-0)
src/vfs/extfs/helpers/ucab.in (+40/-0)
src/vfs/extfs/helpers/uha.in (+52/-0)
src/vfs/extfs/helpers/ulha.in (+142/-0)
src/vfs/extfs/helpers/urar.in (+108/-0)
src/vfs/extfs/helpers/uzip.in (+471/-0)
src/vfs/extfs/helpers/uzoo.in (+65/-0)
src/vfs/fish/Makefile.am (+11/-0)
src/vfs/fish/Makefile.in (+780/-0)
src/vfs/fish/fish.c (+1639/-0)
src/vfs/fish/fish.h (+28/-0)
src/vfs/fish/fishdef.h (+232/-0)
src/vfs/fish/helpers/Makefile.am (+10/-0)
src/vfs/fish/helpers/Makefile.in (+585/-0)
src/vfs/fish/helpers/README.fish (+217/-0)
src/vfs/fish/helpers/append (+16/-0)
src/vfs/fish/helpers/chmod (+6/-0)
src/vfs/fish/helpers/chown (+6/-0)
src/vfs/fish/helpers/fexists (+3/-0)
src/vfs/fish/helpers/get (+105/-0)
src/vfs/fish/helpers/hardlink (+8/-0)
src/vfs/fish/helpers/info (+44/-0)
src/vfs/fish/helpers/ln (+8/-0)
src/vfs/fish/helpers/ls (+166/-0)
src/vfs/fish/helpers/mkdir (+6/-0)
src/vfs/fish/helpers/mv (+6/-0)
src/vfs/fish/helpers/rmdir (+6/-0)
src/vfs/fish/helpers/send (+17/-0)
src/vfs/fish/helpers/unlink (+6/-0)
src/vfs/fish/helpers/utime (+10/-0)
src/vfs/ftpfs/Makefile.am (+7/-0)
src/vfs/ftpfs/Makefile.in (+625/-0)
src/vfs/ftpfs/ftpfs.c (+2594/-0)
src/vfs/ftpfs/ftpfs.h (+42/-0)
src/vfs/local/Makefile.am (+7/-0)
src/vfs/local/Makefile.in (+625/-0)
src/vfs/local/local.c (+435/-0)
src/vfs/local/local.h (+32/-0)
src/vfs/plugins_init.c (+124/-0)
src/vfs/plugins_init.h (+18/-0)
src/vfs/sfs/Makefile.am (+7/-0)
src/vfs/sfs/Makefile.in (+625/-0)
src/vfs/sfs/sfs.c (+563/-0)
src/vfs/sfs/sfs.h (+18/-0)
src/vfs/smbfs/Makefile.am (+84/-0)
src/vfs/smbfs/Makefile.in (+855/-0)
src/vfs/smbfs/helpers/Makefile.in (+171/-0)
src/vfs/smbfs/helpers/aclocal.m4 (+61/-0)
src/vfs/smbfs/helpers/configure (+9462/-0)
src/vfs/smbfs/helpers/configure.ac (+574/-0)
src/vfs/smbfs/helpers/include/byteorder.h (+211/-0)
src/vfs/smbfs/helpers/include/charset.h (+58/-0)
src/vfs/smbfs/helpers/include/client.h (+126/-0)
src/vfs/smbfs/helpers/include/config.h.in (+570/-0)
src/vfs/smbfs/helpers/include/includes.h (+582/-0)
src/vfs/smbfs/helpers/include/kanji.h (+150/-0)
src/vfs/smbfs/helpers/include/local.h (+198/-0)
src/vfs/smbfs/helpers/include/nameserv.h (+505/-0)
src/vfs/smbfs/helpers/include/nterr.h (+507/-0)
src/vfs/smbfs/helpers/include/proto.h (+620/-0)
src/vfs/smbfs/helpers/include/smb.h (+1721/-0)
src/vfs/smbfs/helpers/include/stamp-h.in (+1/-0)
src/vfs/smbfs/helpers/include/trans2.h (+248/-0)
src/vfs/smbfs/helpers/include/version.h (+1/-0)
src/vfs/smbfs/helpers/internals.doc (+212/-0)
src/vfs/smbfs/helpers/lib/charcnv.c (+237/-0)
src/vfs/smbfs/helpers/lib/charset.c (+402/-0)
src/vfs/smbfs/helpers/lib/debug.c (+390/-0)
src/vfs/smbfs/helpers/lib/interface.c (+387/-0)
src/vfs/smbfs/helpers/lib/kanji.c (+1240/-0)
src/vfs/smbfs/helpers/lib/md4.c (+175/-0)
src/vfs/smbfs/helpers/lib/netmask.c (+375/-0)
src/vfs/smbfs/helpers/lib/slprintf.c (+71/-0)
src/vfs/smbfs/helpers/lib/system.c (+313/-0)
src/vfs/smbfs/helpers/lib/time.c (+548/-0)
src/vfs/smbfs/helpers/lib/username.c (+424/-0)
src/vfs/smbfs/helpers/lib/util.c (+3177/-0)
src/vfs/smbfs/helpers/lib/util_file.c (+335/-0)
src/vfs/smbfs/helpers/lib/util_sock.c (+889/-0)
src/vfs/smbfs/helpers/lib/util_str.c (+1103/-0)
src/vfs/smbfs/helpers/libsmb/clientgen.c (+2856/-0)
src/vfs/smbfs/helpers/libsmb/namequery.c (+559/-0)
src/vfs/smbfs/helpers/libsmb/nmblib.c (+972/-0)
src/vfs/smbfs/helpers/libsmb/nterr.c (+558/-0)
src/vfs/smbfs/helpers/libsmb/pwd_cache.c (+259/-0)
src/vfs/smbfs/helpers/libsmb/smbdes.c (+403/-0)
src/vfs/smbfs/helpers/libsmb/smbencrypt.c (+197/-0)
src/vfs/smbfs/helpers/libsmb/smberr.c (+186/-0)
src/vfs/smbfs/helpers/param/loadparm.c (+2459/-0)
src/vfs/smbfs/helpers/param/params.c (+576/-0)
src/vfs/smbfs/helpers/parsing.doc (+363/-0)
src/vfs/smbfs/smbfs.c (+2240/-0)
src/vfs/smbfs/smbfs.h (+42/-0)
src/vfs/tar/Makefile.am (+7/-0)
src/vfs/tar/Makefile.in (+625/-0)
src/vfs/tar/tar.c (+921/-0)
src/vfs/tar/tar.h (+18/-0)
src/vfs/undelfs/Makefile.am (+7/-0)
src/vfs/undelfs/Makefile.in (+625/-0)
src/vfs/undelfs/undelfs.c (+834/-0)
src/vfs/undelfs/undelfs.h (+18/-0)
src/viewer/Makefile.in (+107/-63)
src/viewer/actions_cmd.c (+159/-257)
src/viewer/coord_cache.c (+179/-100)
src/viewer/datasource.c (+71/-45)
src/viewer/dialogs.c (+191/-47)
src/viewer/display.c (+67/-92)
src/viewer/growbuf.c (+42/-39)
src/viewer/hex.c (+155/-85)
src/viewer/inlines.h (+16/-14)
src/viewer/internal.h (+55/-43)
src/viewer/lib.c (+239/-61)
src/viewer/mcviewer.c (+117/-127)
src/viewer/mcviewer.h (+27/-18)
src/viewer/move.c (+169/-168)
src/viewer/nroff.c (+157/-49)
src/viewer/plain.c (+42/-31)
src/viewer/search.c (+154/-88)
src/widget.c (+0/-2919)
src/widget.h (+0/-260)
src/wtools.c (+0/-666)
src/wtools.h (+0/-241)
tests/Makefile.am (+1/-0)
tests/Makefile.in (+695/-0)
tests/lib/Makefile.am (+24/-0)
tests/lib/Makefile.in (+910/-0)
tests/lib/library_independ.c (+64/-0)
tests/lib/mc_build_filename.c (+116/-0)
tests/lib/mcconfig/Makefile.am (+18/-0)
tests/lib/mcconfig/Makefile.in (+735/-0)
tests/lib/mcconfig/config_string.c (+198/-0)
tests/lib/mcconfig/user_configs_path.c (+142/-0)
tests/lib/search/Makefile.am (+14/-0)
tests/lib/search/Makefile.in (+738/-0)
tests/lib/search/regex_process_escape_sequence.c (+87/-0)
tests/lib/search/regex_replace_esc_seq.c (+123/-0)
tests/lib/serialize.c (+262/-0)
tests/lib/vfs/Makefile.am (+49/-0)
tests/lib/vfs/Makefile.in (+826/-0)
tests/lib/vfs/canonicalize_pathname.c (+137/-0)
tests/lib/vfs/current_dir.c (+139/-0)
tests/lib/vfs/mc.charsets (+5/-0)
tests/lib/vfs/path_recode.c (+154/-0)
tests/lib/vfs/path_serialize.c (+186/-0)
tests/lib/vfs/vfs_parse_ls_lga.c (+368/-0)
tests/lib/vfs/vfs_path_string_convert.c (+341/-0)
tests/lib/vfs/vfs_prefix_to_class.c (+148/-0)
tests/lib/vfs/vfs_s_get_path.c (+174/-0)
tests/lib/vfs/vfs_split.c (+271/-0)
tests/lib/x_basename.c (+103/-0)
version.h (+1/-1)
To merge this branch: bzr merge lp:~veger/ubuntu/precise/mc/fix-for-905610-v2
Reviewer Review Type Date Requested Status
Julian Taylor (community) Approve
Ubuntu branches Pending
Review via email: mp+96881@code.launchpad.net

Description of the change

Syncing from debian went without problems, my only change is the addition of Pre-Depends for the dpkg-maintscript-helper command

To post a comment you must log in.
Revision history for this message
Julian Taylor (jtaylor) wrote :

I have uploaded the new version, thanks for your contribution.

When we do changes in ubuntu we also update the maintainer, run update-maintainer in the package source.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory '.pc/04_add_gem_extension.patch'
2=== added directory '.pc/04_add_gem_extension.patch/misc'
3=== added file '.pc/04_add_gem_extension.patch/misc/mc.ext.in'
4--- .pc/04_add_gem_extension.patch/misc/mc.ext.in 1970-01-01 00:00:00 +0000
5+++ .pc/04_add_gem_extension.patch/misc/mc.ext.in 2012-03-10 15:32:17 +0000
6@@ -0,0 +1,684 @@
7+# Midnight Commander 3.0 extension file
8+# Warning: Structure of this file has changed completely with version 3.0
9+#
10+# All lines starting with # or empty lines are thrown away.
11+# Lines starting in the first column should have following format:
12+#
13+# keyword/descNL, i.e. everything after keyword/ until new line is desc
14+#
15+# keyword can be:
16+#
17+# shell (desc is, when starting with a dot, any extension (no wildcars),
18+# i.e. matches all the files *desc . Example: .tar matches *.tar;
19+# if it doesn't start with a dot, it matches only a file of that name)
20+#
21+# regex (desc is an extended regular expression)
22+# Please note that we are using the GNU regex library and thus
23+# \| matches the literal | and | has special meaning (or) and
24+# () have special meaning and \( \) stand for literal ( ).
25+#
26+# type (file matches this if `file %f` matches regular expression desc
27+# (the filename: part from `file %f` is removed))
28+#
29+# directory (matches any directory matching regular expression desc)
30+#
31+# include (matches an include directive)
32+#
33+# default (matches any file no matter what desc is)
34+#
35+# Other lines should start with a space or tab and should be in the format:
36+#
37+# keyword=commandNL (with no spaces around =), where keyword should be:
38+#
39+# Open (if the user presses Enter or doubleclicks it),
40+#
41+# View (F3), Edit (F4)
42+#
43+# Include is the keyword used to add any further entries from an include/
44+# section
45+#
46+# command is any one-line shell command, with the following substitutions:
47+#
48+# %% -> % character
49+# %p -> name of the current file (without path, but pwd is its path)
50+# %f -> name of the current file. Unlike %p, if file is located on a
51+# non-local virtual filesystem, i.e. either tarfs or ftpfs,
52+# then the file will be temporarily copied into a local directory
53+# and %f will be the full path to this local temporal file.
54+# If you don't want to get a local copy and want to get the
55+# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
56+# use %d/%p instead of %f.
57+# %d -> name of the current directory (pwd, without trailing slash)
58+# %s -> "selected files", i.e. space separated list of tagged files if any
59+# or name of the current file
60+# %t -> list of tagged files
61+# %u -> list of tagged files (they'll be untaged after the command)
62+#
63+# (If these 6 letters are in uppercase, they refer to the other panel.
64+# But you shouldn't have to use it in this file.)
65+#
66+#
67+# %cd -> the rest is a path mc should change into (cd won't work, since it's
68+# a child process). %cd handles even vfs names.
69+#
70+# %view -> the command you type will be piped into mc's internal file viewer
71+# if you type only the %view and no command, viewer will load %f file
72+# instead (i.e. no piping, so it is different to %view cat %f)
73+# %view may be directly followed by {} with a list of any of
74+# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
75+# text using backspace for bold and underscore) and unform
76+# (no highlighting for nroff sequences) separated by commas.
77+#
78+# %var -> You use it like this: %var{VAR:default}. This macro will expand
79+# to the value of the VAR variable in the environment if it's set
80+# otherwise the value in default will be used. This is similar to
81+# the Bourne shell ${VAR-default} construct.
82+#
83+# Rules are applied from top to bottom, thus the order is important.
84+# If some actions are missing, search continues as if this target didn't
85+# match (i.e. if a file matches the first and second entry and View action
86+# is missing in the first one, then on pressing F3 the View action from
87+# the second entry will be used. default should catch all the actions.
88+#
89+# Any new entries you develop for you are always welcome if they are
90+# useful on more than one system. You can post your modifications
91+# as tickets at www.midnight-commander.org
92+
93+
94+### Changes ###
95+#
96+# Reorganization: 2000-05-01 Michal Svec <rebel@penguin.cz>
97+
98+
99+### TODO ###
100+#
101+# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something]
102+# Images asciiview
103+#
104+# All X Apps [Nothing/Warning] if no DISPLAY
105+# Not found [Default/Warning]
106+# Empty Output [Default/Warning]
107+# Edit: CopyOut+EDIT+CopyIn
108+# Security Check gzip/bzip EDIT (mktemp)
109+#
110+# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
111+
112+
113+### GIT Repo ###
114+# gitfs changeset
115+regex/^\[git\]
116+ Open=%cd %p/changesetfs://
117+ View=%cd %p/patchsetfs://
118+
119+### Archives ###
120+
121+# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
122+regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$
123+ Open=%cd %p/utar://
124+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
125+
126+regex/\.tar\.bz$
127+ # Open=%cd %p/utar://
128+ View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
129+
130+regex/\.t(ar\.bz2|bz2?|b2)$
131+ Open=%cd %p/utar://
132+ View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
133+
134+# .tar.lzma, .tlz
135+regex/\.t(ar\.lzma|lz)$
136+ Open=%cd %p/utar://
137+ View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
138+
139+# .tar.xz, .txz
140+regex/\.t(ar\.xz|xz)$
141+ Open=%cd %p/utar://
142+ View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
143+
144+# .tar.F - used in QNX
145+regex/\.tar\.F$
146+ # Open=%cd %p/utar://
147+ View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
148+
149+# .qpr/.qpk - QNX Neutrino package installer files
150+regex/\.(qp[rk])$
151+ Open=%cd %p/utar://
152+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
153+
154+# tar
155+regex/\.(tar|TAR)$
156+ Open=%cd %p/utar://
157+ View=%view{ascii} tar tvvf - < %f
158+
159+# lha
160+type/^LHa\ .*archive
161+ Open=%cd %p/ulha://
162+ View=%view{ascii} lha l %f
163+
164+# arj
165+regex/\.a(rj|[0-9][0-9])$
166+ Open=%cd %p/uarj://
167+ View=%view{ascii} unarj l %f
168+
169+# cab
170+regex/\.([cC][aA][bB])$
171+ Open=%cd %p/ucab://
172+ View=%view{ascii} cabextract -l %f
173+
174+# ha
175+regex/\.([Hh][Aa])$
176+ Open=%cd %p/uha://
177+ View=%view{ascii} ha lf %f
178+
179+# rar
180+regex/\.[rR]([aA][rR]|[0-9][0-9])$
181+ Open=%cd %p/urar://
182+ View=%view{ascii} rar v -c- %f
183+
184+# ALZip
185+regex/\.(alz|ALZ)$
186+ Open=%cd %p/ualz://
187+ View=%view{ascii} unalz -l %f
188+
189+# cpio
190+shell/.cpio.Z
191+ Open=%cd %p/ucpio://
192+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
193+
194+shell/.cpio.gz
195+ Open=%cd %p/ucpio://
196+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
197+
198+shell/.cpio
199+ Open=%cd %p/ucpio://
200+ View=%view{ascii} cpio -itv < %f 2>/dev/null
201+
202+# ls-lR
203+regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
204+ Open=%cd %p/lslR://
205+
206+# patch
207+regex/\.(diff|patch)(\.bz2)$
208+ Open=%cd %p/patchfs://
209+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
210+
211+regex/\.(diff|patch)(\.(gz|Z))$
212+ Open=%cd %p/patchfs://
213+ View=%view{ascii} gzip -dc %f 2>/dev/null
214+
215+regex/\.(diff|patch)$
216+ Open=%cd %p/patchfs://
217+ View=%view{ascii} /bin/cat %f 2>/dev/null
218+
219+# ar library
220+regex/\.s?a$
221+ Open=%cd %p/uar://
222+ #Open=%view{ascii} ar tv %f
223+ View=%view{ascii} file %f && nm -C %f
224+
225+# trpm
226+regex/\.trpm$
227+ Open=%cd %p/trpm://
228+ View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
229+
230+# RPM packages (SuSE uses *.spm for source packages)
231+regex/\.(src\.rpm|spm)$
232+ Open=%cd %p/rpm://
233+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
234+
235+regex/\.rpm$
236+ Open=%cd %p/rpm://
237+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
238+
239+# deb
240+regex/\.u?deb$
241+ Open=%cd %p/deb://
242+ View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
243+
244+# dpkg
245+shell/.debd
246+ Open=%cd %p/debd://
247+ View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
248+# apt
249+shell/.deba
250+ Open=%cd %p/deba://
251+ View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
252+
253+# ISO9660
254+regex/\.([iI][sS][oO])$
255+ Open=%cd %p/iso9660://
256+ View=%view{ascii} isoinfo -l -i %f
257+
258+# 7zip archives (they are not man pages)
259+regex/\.(7z|7Z)$
260+ Open=%cd %p/u7z://
261+ View=%view{ascii} 7za l %f 2>/dev/null
262+
263+# Mailboxes
264+type/^ASCII\ mail\ text
265+ Open=%cd %p/mailfs://
266+
267+
268+### Sources ###
269+
270+# C
271+shell/.c
272+ Include=editor
273+
274+# Fortran
275+shell/.f
276+ Include=editor
277+
278+# Header
279+regex/\.(h|hpp)$
280+ Include=editor
281+
282+# Asm
283+shell/.s
284+ Include=editor
285+
286+# C++
287+regex/\.(C|cc|cpp)$
288+ Include=editor
289+
290+include/editor
291+ Open=%var{EDITOR:vi} %f
292+
293+# .so libraries
294+regex/\.(so|so\.[0-9\.]*)$
295+ View=%view{ascii} file %f && nm -C -D %f
296+
297+# Object
298+type/^ELF
299+ #Open=%var{PAGER:more} %f
300+ View=%view{ascii} file %f && nm -C %f
301+
302+### Documentation ###
303+
304+# Texinfo
305+regex/\.(te?xi|texinfo)$
306+
307+# GNU Info page
308+type/^Info\ text
309+ Open=info -f %f
310+
311+shell/.info
312+ Open=info -f %f
313+
314+# Exception: .3gp are video files not manual pages
315+regex/\.(3[gG][pP])$
316+ Include=video
317+
318+# Manual page
319+regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
320+ Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
321+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
322+
323+# Perl pod page
324+shell/.pod
325+ Open=pod2man %f | nroff @MAN_FLAGS@ @MANDOC@ | %var{PAGER:more}
326+ View=%view{ascii,nroff} pod2man %f | nroff @MAN_FLAGS@ @MANDOC@
327+
328+# Troff with me macros.
329+# Exception - "read.me" is not a nroff file.
330+shell/read.me
331+ Open=
332+ View=
333+
334+shell/.me
335+ Open=nroff @MAN_FLAGS@ -me %f | %var{PAGER:more}
336+ View=%view{ascii,nroff} nroff @MAN_FLAGS@ -me %f
337+
338+# Troff with ms macros.
339+shell/.ms
340+ Open=nroff @MAN_FLAGS@ -ms %f | %var{PAGER:more}
341+ View=%view{ascii,nroff} nroff @MAN_FLAGS@ -ms %f
342+
343+# Manual page - compressed
344+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
345+ Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
346+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
347+
348+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
349+ Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
350+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
351+
352+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
353+ Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
354+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
355+
356+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
357+ Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
358+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
359+
360+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
361+ Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
362+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
363+
364+# CHM
365+regex/\.(chm|CHM)$
366+ Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
367+
368+### Images ###
369+
370+type/^GIF
371+ Include=image
372+
373+type/^JPEG
374+ View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
375+ Include=image
376+
377+type/^PC\ bitmap
378+ Include=image
379+
380+type/^PNG
381+ Include=image
382+
383+type/^TIFF
384+ Include=image
385+
386+type/^PBM
387+ Include=image
388+
389+type/^PGM
390+ Include=image
391+
392+type/^PPM
393+ Include=image
394+
395+type/^Netpbm
396+ Include=image
397+
398+shell/.xcf
399+ Open=(gimp %f &)
400+
401+shell/.xbm
402+ Open=bitmap %f
403+
404+shell/.xpm
405+ Include=image
406+ View=sxpm %f
407+
408+shell/.ico
409+ Include=image
410+
411+include/image
412+ Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (gqview %f &); fi
413+ View=%view{ascii} identify %f
414+ #View=%view{ascii} asciiview %f
415+
416+
417+### Sound files ###
418+
419+regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
420+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
421+
422+regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
423+ Open=mikmod %f
424+ #Open=tracker %f
425+
426+regex/\.([wW][aA][wW]22)$
427+ Open=vplay -s 22 %f
428+
429+regex/\.([mM][pP]3)$
430+ Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
431+ View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
432+
433+regex/\.([oO][gG][gG|aA|vV|xX])$
434+ Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
435+ View=%view{ascii} ogginfo %s
436+
437+regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
438+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
439+
440+regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
441+ Open=timidity %f
442+
443+regex/\.([wW][mM][aA])$
444+ Open=mplayer -vo null %f
445+ View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
446+
447+
448+### Play lists ###
449+
450+regex/\.([mM]3[uU]|[pP][lL][sS])$
451+ Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi
452+
453+
454+### Video ###
455+
456+regex/\.([aA][vV][iI])$
457+ Include=video
458+
459+regex/\.([aA][sS][fFxX])$
460+ Include=video
461+
462+regex/\.([dD][iI][vV][xX])$
463+ Include=video
464+
465+regex/\.([mM][kK][vV])$
466+ Include=video
467+
468+regex/\.([mM][oO][vV]|[qQ][tT])$
469+ Include=video
470+
471+regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
472+ Include=video
473+
474+# MPEG-2 TS container + H.264 codec
475+regex/\.([mM][tT][sS])$
476+ Include=video
477+
478+regex/\.([vV][oO][bB])$
479+ Include=video
480+
481+regex/\.([wW][mM][vV])$
482+ Include=video
483+
484+regex/\.([fF][lL][iIcCvV])$
485+ Include=video
486+
487+regex/\.([oO][gG][mM])$
488+ Include=video
489+
490+regex/\.([rR][aA]?[mM])$
491+ Open=(realplay %f >/dev/null 2>&1 &)
492+
493+include/video
494+ Open=(mplayer %f >/dev/null 2>&1 &)
495+ #Open=(gtv %f >/dev/null 2>&1 &)
496+ #Open=(xanim %f >/dev/null 2>&1 &)
497+
498+
499+### Documents ###
500+
501+# Postscript
502+type/^PostScript
503+ Open=(gv %f &)
504+ View=%view{ascii} ps2ascii %f
505+
506+# PDF
507+type/^PDF
508+ Open=(xpdf %f &)
509+ #Open=(acroread %f &)
510+ #Open=(ghostview %f &)
511+ View=%view{ascii} pdftotext %f -
512+
513+# The following code very ugly and should not be taken as example.
514+# It should be cleaned up when the new format of mc.ext is developed.
515+
516+# html
517+regex/\.([hH][tT][mM][lL]?)$
518+ Open=(if test -n "@X11_WWW@" && test -n "$DISPLAY"; then (@X11_WWW@ file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
519+ View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
520+
521+# StarOffice 5.2
522+shell/.sdw
523+ Open=(ooffice %f &)
524+
525+# StarOffice 6 and OpenOffice.org formats
526+regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
527+ Open=(ooffice %f &)
528+ View=%view{ascii} odt2txt %f
529+
530+# AbiWord
531+shell/.abw
532+ Open=(abiword %f &)
533+
534+# Microsoft Word Document
535+regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
536+ Open=(abiword %f >/dev/null 2>&1 &)
537+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
538+type/^Microsoft\ Word
539+ Open=(abiword %f >/dev/null 2>&1 &)
540+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
541+
542+# RTF document
543+regex/\.([rR][tT][fF])$
544+ Open=(abiword %f >/dev/null 2>&1 &)
545+
546+# Microsoft Excel Worksheet
547+regex/\.([xX][lL][sSwW])$
548+ Open=(gnumeric %f >/dev/null 2>&1 &)
549+ View=%view{ascii} xls2csv %f || strings %f
550+type/^Microsoft\ Excel
551+ Open=(gnumeric %f >/dev/null 2>&1 &)
552+ View=%view{ascii} xls2csv %f || strings %f
553+
554+# Use OpenOffice.org to open any MS Office documents
555+type/^Microsoft\ Office\ Document
556+ Open=(ooffice %f &)
557+
558+# Framemaker
559+type/^FrameMaker
560+ Open=fmclient -f %f
561+
562+# DVI
563+regex/\.([dD][vV][iI])$
564+ Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi
565+ View=%view{ascii} dvi2tty %f
566+
567+# TeX
568+regex/\.([Tt][Ee][Xx])$
569+ Include=editor
570+
571+# DjVu
572+regex/\.(djvu|DJVU)$
573+ Open=djview %f &
574+
575+### Miscellaneous ###
576+
577+# Makefile
578+regex/[Mm]akefile$
579+ Open=make -f %f %{Enter parameters}
580+
581+# Imakefile
582+shell/Imakefile
583+ Open=xmkmf -a
584+
585+# Makefile.PL (MakeMaker)
586+regex/^Makefile.(PL|pl)$
587+ Open=%var{PERL:perl} %f
588+
589+# dbf
590+regex/\.([dD][bB][fF])$
591+ Open=%view{ascii} dbview %f
592+ View=%view{ascii} dbview -b %f
593+
594+# REXX script
595+regex/\.(rexx?|cmd)$
596+ Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
597+
598+# Disk images for Commodore computers (VIC20, C64, C128)
599+regex/\.(d64|D64)$
600+ Open=%cd %p/uc1541://
601+ View=%view{ascii} c1541 %f -list
602+ Extract=c1541 %f -extract
603+
604+# Glade, a user interface designer for GTK+ and GNOME
605+regex/\.([Gg][Ll][Aa][Dd][Ee])$
606+ Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
607+
608+# Gettext Catalogs
609+shell/.mo
610+ View=%view{ascii} msgunfmt %f || cat %f
611+
612+# lyx
613+regex/\.(lyx|LYX)$
614+ Open=lyx %f
615+ View=%view{ascii} lyxcat %f
616+
617+# torrent
618+regex/\.([tT][oO][rR][rR][eE][nN][tT])$
619+ View=%view{ascii} ctorrent -x %f 2>/dev/null
620+
621+### Plain compressed files ###
622+
623+# ace
624+regex/\.(ace|ACE)$
625+ Open=%cd %p/uace://
626+ View=%view{ascii} unace l %f
627+ Extract=unace x %f
628+
629+# arc
630+regex/\.(arc|ARC)$
631+ Open=%cd %p/uarc://
632+ View=%view{ascii} arc l %f
633+ Extract=arc x %f '*'
634+ Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
635+
636+# zip
637+type/^([Zz][Ii][Pp])\ archive
638+ Open=%cd %p/uzip://
639+ View=%view{ascii} unzip -v %f
640+
641+# zoo
642+regex/\.([Zz][Oo][Oo])$
643+ Open=%cd %p/uzoo://
644+ View=%view{ascii} zoo l %f
645+
646+# gzip
647+type/^gzip
648+ Open=gzip -dc %f | %var{PAGER:more}
649+ View=%view{ascii} gzip -dc %f 2>/dev/null
650+
651+regex/\.(gz|Z)$
652+ View=%view{ascii} gzip -dc %f 2>/dev/null
653+
654+# bzip2
655+type/^bzip2
656+ Open=bzip2 -dc %f | %var{PAGER:more}
657+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
658+
659+regex/\.bz2?$
660+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
661+
662+# bzip
663+type/^bzip
664+ Open=bzip -dc %f | %var{PAGER:more}
665+ View=%view{ascii} bzip -dc %f 2>/dev/null
666+
667+# compress
668+type/^compress
669+ Open=gzip -dc %f | %var{PAGER:more}
670+ View=%view{ascii} gzip -dc %f 2>/dev/null
671+
672+# lzma
673+regex/\.lzma$
674+ Open=lzma -dc %f | %var{PAGER:more}
675+ View=%view{ascii} lzma -dc %f 2>/dev/null
676+
677+# xz
678+regex/\.xz$
679+ Open=xz -dc %f | %var{PAGER:more}
680+ View=%view{ascii} xz -dc %f 2>/dev/null
681+
682+### Default ###
683+
684+# Default target for anything not described above
685+default/*
686+ Open=
687+ View=
688+
689+
690+### EOF ###
691
692=== added directory '.pc/05_disable_internal_editor.patch'
693=== added directory '.pc/05_disable_internal_editor.patch/src'
694=== added file '.pc/05_disable_internal_editor.patch/src/main.c'
695--- .pc/05_disable_internal_editor.patch/src/main.c 1970-01-01 00:00:00 +0000
696+++ .pc/05_disable_internal_editor.patch/src/main.c 2012-03-10 15:32:17 +0000
697@@ -0,0 +1,601 @@
698+/*
699+ Main program for the Midnight Commander
700+
701+ Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
702+ 2003, 2004, 2005, 2006, 2007, 2009, 2011
703+ The Free Software Foundation, Inc.
704+
705+ Written by:
706+ Miguel de Icaza, 1994, 1995, 1996, 1997
707+ Janne Kukonlehto, 1994, 1995
708+ Norbert Warmuth, 1997
709+
710+ This file is part of the Midnight Commander.
711+
712+ The Midnight Commander is free software: you can redistribute it
713+ and/or modify it under the terms of the GNU General Public License as
714+ published by the Free Software Foundation, either version 3 of the License,
715+ or (at your option) any later version.
716+
717+ The Midnight Commander is distributed in the hope that it will be useful,
718+ but WITHOUT ANY WARRANTY; without even the implied warranty of
719+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
720+ GNU General Public License for more details.
721+
722+ You should have received a copy of the GNU General Public License
723+ along with this program. If not, see <http://www.gnu.org/licenses/>.
724+ */
725+
726+/** \file main.c
727+ * \brief Source: this is a main module
728+ */
729+
730+#include <config.h>
731+
732+#include <ctype.h>
733+#include <errno.h>
734+#include <locale.h>
735+#include <stdio.h>
736+#include <stdlib.h>
737+#include <string.h>
738+#include <sys/wait.h>
739+#include <pwd.h> /* for username in xterm title */
740+#include <signal.h>
741+
742+#include "lib/global.h"
743+
744+#include "lib/event.h"
745+#include "lib/tty/tty.h"
746+#include "lib/tty/key.h" /* For init_key() */
747+#include "lib/skin.h"
748+#include "lib/filehighlight.h"
749+#include "lib/fileloc.h"
750+#include "lib/strutil.h"
751+#include "lib/util.h"
752+#include "lib/vfs/vfs.h" /* vfs_init(), vfs_shut() */
753+
754+#include "filemanager/midnight.h" /* current_panel */
755+#include "filemanager/treestore.h" /* tree_store_save */
756+#include "filemanager/layout.h" /* command_prompt */
757+#include "filemanager/ext.h" /* flush_extension_file() */
758+#include "filemanager/command.h" /* cmdline */
759+#include "filemanager/panel.h" /* panalized_panel */
760+
761+#include "vfs/plugins_init.h"
762+
763+#include "events_init.h"
764+#include "args.h"
765+#include "subshell.h"
766+#include "setup.h" /* load_setup() */
767+
768+#ifdef HAVE_CHARSET
769+#include "lib/charsets.h"
770+#include "selcodepage.h"
771+#endif /* HAVE_CHARSET */
772+
773+#include "consaver/cons.saver.h" /* cons_saver_pid */
774+
775+#include "main.h"
776+
777+/*** global variables ****************************************************************************/
778+
779+mc_fhl_t *mc_filehighlight;
780+
781+/* Set when main loop should be terminated */
782+int quit = 0;
783+
784+#ifdef HAVE_CHARSET
785+/* Numbers of (file I/O) and (input/display) codepages. -1 if not selected */
786+int default_source_codepage = -1;
787+char *autodetect_codeset = NULL;
788+gboolean is_autodetect_codeset_enabled = FALSE;
789+#endif /* !HAVE_CHARSET */
790+
791+/* If true use the internal viewer */
792+int use_internal_view = 1;
793+/* If set, use the builtin editor */
794+int use_internal_edit = 1;
795+
796+char *mc_run_param0 = NULL;
797+char *mc_run_param1 = NULL;
798+
799+/* The user's shell */
800+char *shell = NULL;
801+
802+/* The prompt */
803+const char *mc_prompt = NULL;
804+
805+/* Set to TRUE to suppress printing the last directory */
806+int print_last_revert = FALSE;
807+
808+/* If set, then print to the given file the last directory we were at */
809+char *last_wd_string = NULL;
810+
811+/* index to record_macro_buf[], -1 if not recording a macro */
812+int macro_index = -1;
813+
814+/* macro stuff */
815+struct macro_action_t record_macro_buf[MAX_MACRO_LENGTH];
816+
817+GArray *macros_list;
818+
819+/*** file scope macro definitions ****************************************************************/
820+
821+/*** file scope type declarations ****************************************************************/
822+
823+/*** file scope variables ************************************************************************/
824+
825+/*** file scope functions ************************************************************************/
826+/* --------------------------------------------------------------------------------------------- */
827+
828+static void
829+check_codeset (void)
830+{
831+ const char *current_system_codepage = NULL;
832+
833+ current_system_codepage = str_detect_termencoding ();
834+
835+#ifdef HAVE_CHARSET
836+ {
837+ const char *_display_codepage;
838+
839+ _display_codepage = get_codepage_id (mc_global.display_codepage);
840+
841+ if (strcmp (_display_codepage, current_system_codepage) != 0)
842+ {
843+ mc_global.display_codepage = get_codepage_index (current_system_codepage);
844+ if (mc_global.display_codepage == -1)
845+ mc_global.display_codepage = 0;
846+
847+ mc_config_set_string (mc_main_config, "Misc", "display_codepage", cp_display);
848+ }
849+ }
850+#endif
851+
852+ mc_global.utf8_display = str_isutf8 (current_system_codepage);
853+}
854+
855+/* --------------------------------------------------------------------------------------------- */
856+
857+/** POSIX version. The only version we support. */
858+static void
859+OS_Setup (void)
860+{
861+ const char *shell_env = getenv ("SHELL");
862+
863+ if ((shell_env == NULL) || (shell_env[0] == '\0'))
864+ {
865+ struct passwd *pwd;
866+ pwd = getpwuid (geteuid ());
867+ if (pwd != NULL)
868+ shell = g_strdup (pwd->pw_shell);
869+ }
870+ else
871+ shell = g_strdup (shell_env);
872+
873+ if ((shell == NULL) || (shell[0] == '\0'))
874+ {
875+ g_free (shell);
876+ shell = g_strdup ("/bin/sh");
877+ }
878+}
879+
880+/* --------------------------------------------------------------------------------------------- */
881+
882+static void
883+sigchld_handler_no_subshell (int sig)
884+{
885+#ifdef __linux__
886+ int pid, status;
887+
888+ if (!mc_global.tty.console_flag != '\0')
889+ return;
890+
891+ /* COMMENT: if it were true that after the call to handle_console(..INIT)
892+ the value of mc_global.tty.console_flag never changed, we could simply not install
893+ this handler at all if (!mc_global.tty.console_flag && !mc_global.tty.use_subshell). */
894+
895+ /* That comment is no longer true. We need to wait() on a sigchld
896+ handler (that's at least what the tarfs code expects currently). */
897+
898+ pid = waitpid (cons_saver_pid, &status, WUNTRACED | WNOHANG);
899+
900+ if (pid == cons_saver_pid)
901+ {
902+
903+ if (WIFSTOPPED (status))
904+ {
905+ /* Someone has stopped cons.saver - restart it */
906+ kill (pid, SIGCONT);
907+ }
908+ else
909+ {
910+ /* cons.saver has died - disable console saving */
911+ handle_console (CONSOLE_DONE);
912+ mc_global.tty.console_flag = '\0';
913+ }
914+ }
915+ /* If we got here, some other child exited; ignore it */
916+#endif /* __linux__ */
917+
918+ (void) sig;
919+}
920+
921+/* --------------------------------------------------------------------------------------------- */
922+
923+static void
924+init_sigchld (void)
925+{
926+ struct sigaction sigchld_action;
927+
928+ sigchld_action.sa_handler =
929+#ifdef HAVE_SUBSHELL_SUPPORT
930+ mc_global.tty.use_subshell ? sigchld_handler :
931+#endif /* HAVE_SUBSHELL_SUPPORT */
932+ sigchld_handler_no_subshell;
933+
934+ sigemptyset (&sigchld_action.sa_mask);
935+
936+#ifdef SA_RESTART
937+ sigchld_action.sa_flags = SA_RESTART;
938+#else
939+ sigchld_action.sa_flags = 0;
940+#endif /* !SA_RESTART */
941+
942+ if (sigaction (SIGCHLD, &sigchld_action, NULL) == -1)
943+ {
944+#ifdef HAVE_SUBSHELL_SUPPORT
945+ /*
946+ * This may happen on QNX Neutrino 6, where SA_RESTART
947+ * is defined but not implemented. Fallback to no subshell.
948+ */
949+ mc_global.tty.use_subshell = FALSE;
950+#endif /* HAVE_SUBSHELL_SUPPORT */
951+ }
952+}
953+
954+/* --------------------------------------------------------------------------------------------- */
955+/*** public functions ****************************************************************************/
956+/* --------------------------------------------------------------------------------------------- */
957+
958+int
959+do_cd (const char *new_dir, enum cd_enum exact)
960+{
961+ gboolean res;
962+ const char *_new_dir = new_dir;
963+
964+ if (current_panel->is_panelized && _new_dir[0] == '.' && _new_dir[1] == '.' && _new_dir[2] == 0)
965+ _new_dir = panelized_panel.root;
966+
967+ res = do_panel_cd (current_panel, _new_dir, exact);
968+
969+#if HAVE_CHARSET
970+ if (res)
971+ {
972+ vfs_path_t *vpath = vfs_path_from_str (current_panel->cwd);
973+ vfs_path_element_t *path_element = vfs_path_get_by_index (vpath, -1);
974+
975+ if (path_element->encoding != NULL)
976+ current_panel->codepage = get_codepage_index (path_element->encoding);
977+ else
978+ current_panel->codepage = SELECT_CHARSET_NO_TRANSLATE;
979+
980+ vfs_path_free (vpath);
981+ }
982+#endif /* HAVE_CHARSET */
983+
984+ return res ? 1 : 0;
985+}
986+
987+/* --------------------------------------------------------------------------------------------- */
988+
989+#ifdef HAVE_SUBSHELL_SUPPORT
990+gboolean
991+do_load_prompt (void)
992+{
993+ gboolean ret = FALSE;
994+
995+ if (!read_subshell_prompt ())
996+ return ret;
997+
998+ /* Don't actually change the prompt if it's invisible */
999+ if (((Dlg_head *) top_dlg->data == midnight_dlg) && command_prompt)
1000+ {
1001+ setup_cmdline ();
1002+
1003+ /* since the prompt has changed, and we are called from one of the
1004+ * tty_get_event channels, the prompt updating does not take place
1005+ * automatically: force a cursor update and a screen refresh
1006+ */
1007+ update_cursor (midnight_dlg);
1008+ mc_refresh ();
1009+ ret = TRUE;
1010+ }
1011+ update_subshell_prompt = TRUE;
1012+ return ret;
1013+}
1014+
1015+/* --------------------------------------------------------------------------------------------- */
1016+
1017+int
1018+load_prompt (int fd, void *unused)
1019+{
1020+ (void) fd;
1021+ (void) unused;
1022+
1023+ do_load_prompt ();
1024+ return 0;
1025+}
1026+#endif /* HAVE_SUBSHELL_SUPPORT */
1027+
1028+/* --------------------------------------------------------------------------------------------- */
1029+
1030+/** Show current directory in the xterm title */
1031+void
1032+update_xterm_title_path (void)
1033+{
1034+ /* TODO: share code with midnight_get_title () */
1035+
1036+ const char *path;
1037+ char host[BUF_TINY];
1038+ char *p;
1039+ struct passwd *pw = NULL;
1040+ char *login = NULL;
1041+ int res = 0;
1042+
1043+ if (mc_global.tty.xterm_flag && xterm_title)
1044+ {
1045+ path = strip_home_and_password (current_panel->cwd);
1046+ res = gethostname (host, sizeof (host));
1047+ if (res)
1048+ { /* On success, res = 0 */
1049+ host[0] = '\0';
1050+ }
1051+ else
1052+ {
1053+ host[sizeof (host) - 1] = '\0';
1054+ }
1055+ pw = getpwuid (getuid ());
1056+ if (pw)
1057+ {
1058+ login = g_strdup_printf ("%s@%s", pw->pw_name, host);
1059+ }
1060+ else
1061+ {
1062+ login = g_strdup (host);
1063+ }
1064+ p = g_strdup_printf ("mc [%s]:%s", login, path);
1065+ fprintf (stdout, "\33]0;%s\7", str_term_form (p));
1066+ g_free (login);
1067+ g_free (p);
1068+ if (!mc_global.tty.alternate_plus_minus)
1069+ numeric_keypad_mode ();
1070+ (void) fflush (stdout);
1071+ }
1072+}
1073+
1074+/* --------------------------------------------------------------------------------------------- */
1075+
1076+int
1077+main (int argc, char *argv[])
1078+{
1079+ GError *error = NULL;
1080+ gboolean isInitialized;
1081+
1082+ /* We had LC_CTYPE before, LC_ALL includs LC_TYPE as well */
1083+ (void) setlocale (LC_ALL, "");
1084+ (void) bindtextdomain ("mc", LOCALEDIR);
1085+ (void) textdomain ("mc");
1086+
1087+ if (!events_init (&error))
1088+ {
1089+ fprintf (stderr, _("Failed to run:\n%s\n"), error->message);
1090+ g_error_free (error);
1091+ (void) mc_event_deinit (NULL);
1092+ exit (EXIT_FAILURE);
1093+ }
1094+
1095+ /* Set up temporary directory */
1096+ (void) mc_tmpdir ();
1097+
1098+ OS_Setup ();
1099+
1100+ str_init_strings (NULL);
1101+
1102+ /* Initialize and create home directories */
1103+ /* do it after the screen library initialization to show the error message */
1104+ mc_config_init_config_paths (&error);
1105+
1106+ if (error == NULL && mc_config_deprecated_dir_present ())
1107+ mc_config_migrate_from_old_place (&error);
1108+
1109+ vfs_init ();
1110+ vfs_plugins_init ();
1111+ vfs_setup_work_dir ();
1112+
1113+ if (!mc_args_handle (argc, argv, "mc"))
1114+ exit (EXIT_FAILURE);
1115+
1116+ /* check terminal type
1117+ * $TEMR must be set and not empty
1118+ * mc_global.tty.xterm_flag is used in init_key() and tty_init()
1119+ * Do this after mc_args_handle() where mc_args__force_xterm is set up.
1120+ */
1121+ mc_global.tty.xterm_flag = tty_check_term (mc_args__force_xterm);
1122+
1123+ /* NOTE: This has to be called before tty_init or whatever routine
1124+ calls any define_sequence */
1125+ init_key ();
1126+
1127+ /* Must be done before installing the SIGCHLD handler [[FIXME]] */
1128+ handle_console (CONSOLE_INIT);
1129+
1130+#ifdef HAVE_SUBSHELL_SUPPORT
1131+ /* Don't use subshell when invoked as viewer or editor */
1132+ if (mc_global.mc_run_mode != MC_RUN_FULL)
1133+ mc_global.tty.use_subshell = FALSE;
1134+
1135+ if (mc_global.tty.use_subshell)
1136+ subshell_get_console_attributes ();
1137+#endif /* HAVE_SUBSHELL_SUPPORT */
1138+
1139+ /* Install the SIGCHLD handler; must be done before init_subshell() */
1140+ init_sigchld ();
1141+
1142+ /* We need this, since ncurses endwin () doesn't restore the signals */
1143+ save_stop_handler ();
1144+
1145+ /* Must be done before init_subshell, to set up the terminal size: */
1146+ /* FIXME: Should be removed and LINES and COLS computed on subshell */
1147+ tty_init (!mc_args__nomouse, mc_global.tty.xterm_flag);
1148+
1149+ load_setup ();
1150+
1151+ /* start check mc_global.display_codepage and mc_global.source_codepage */
1152+ check_codeset ();
1153+
1154+ /* Removing this from the X code let's us type C-c */
1155+ load_key_defs ();
1156+
1157+ load_keymap_defs (!mc_args__nokeymap);
1158+
1159+ macros_list = g_array_new (TRUE, FALSE, sizeof (macros_t));
1160+
1161+ tty_init_colors (mc_global.tty.disable_colors, mc_args__force_colors);
1162+
1163+ {
1164+ GError *error2 = NULL;
1165+ isInitialized = mc_skin_init (&error2);
1166+ mc_filehighlight = mc_fhl_new (TRUE);
1167+ dlg_set_default_colors ();
1168+
1169+ if (!isInitialized)
1170+ {
1171+ message (D_ERROR, _("Warning"), "%s", error2->message);
1172+ g_error_free (error2);
1173+ error2 = NULL;
1174+ }
1175+ }
1176+
1177+ if (error != NULL)
1178+ {
1179+ message (D_ERROR, _("Warning"), "%s", error->message);
1180+ g_error_free (error);
1181+ error = NULL;
1182+ }
1183+
1184+
1185+#ifdef HAVE_SUBSHELL_SUPPORT
1186+ /* Done here to ensure that the subshell doesn't */
1187+ /* inherit the file descriptors opened below, etc */
1188+ if (mc_global.tty.use_subshell)
1189+ init_subshell ();
1190+
1191+#endif /* HAVE_SUBSHELL_SUPPORT */
1192+
1193+ /* Also done after init_subshell, to save any shell init file messages */
1194+ if (mc_global.tty.console_flag != '\0')
1195+ handle_console (CONSOLE_SAVE);
1196+
1197+ if (mc_global.tty.alternate_plus_minus)
1198+ application_keypad_mode ();
1199+
1200+#ifdef HAVE_SUBSHELL_SUPPORT
1201+ if (mc_global.tty.use_subshell)
1202+ {
1203+ mc_prompt = strip_ctrl_codes (subshell_prompt);
1204+ if (mc_prompt == NULL)
1205+ mc_prompt = (geteuid () == 0) ? "# " : "$ ";
1206+ }
1207+ else
1208+#endif /* HAVE_SUBSHELL_SUPPORT */
1209+ mc_prompt = (geteuid () == 0) ? "# " : "$ ";
1210+
1211+ /* Program main loop */
1212+ if (!mc_global.widget.midnight_shutdown)
1213+ do_nc ();
1214+
1215+ /* Save the tree store */
1216+ (void) tree_store_save ();
1217+
1218+ free_keymap_defs ();
1219+
1220+ /* Virtual File System shutdown */
1221+ vfs_shut ();
1222+
1223+ flush_extension_file (); /* does only free memory */
1224+
1225+ mc_fhl_free (&mc_filehighlight);
1226+ mc_skin_deinit ();
1227+ tty_colors_done ();
1228+
1229+ tty_shutdown ();
1230+
1231+ done_setup ();
1232+
1233+ if (mc_global.tty.console_flag != '\0' && (quit & SUBSHELL_EXIT) == 0)
1234+ handle_console (CONSOLE_RESTORE);
1235+ if (mc_global.tty.alternate_plus_minus)
1236+ numeric_keypad_mode ();
1237+
1238+ (void) signal (SIGCHLD, SIG_DFL); /* Disable the SIGCHLD handler */
1239+
1240+ if (mc_global.tty.console_flag != '\0')
1241+ handle_console (CONSOLE_DONE);
1242+
1243+ if (mc_global.mc_run_mode == MC_RUN_FULL && mc_args__last_wd_file != NULL
1244+ && last_wd_string != NULL && !print_last_revert)
1245+ {
1246+ int last_wd_fd;
1247+
1248+ last_wd_fd = open (mc_args__last_wd_file, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL,
1249+ S_IRUSR | S_IWUSR);
1250+ if (last_wd_fd != -1)
1251+ {
1252+ ssize_t ret1;
1253+ int ret2;
1254+ ret1 = write (last_wd_fd, last_wd_string, strlen (last_wd_string));
1255+ ret2 = close (last_wd_fd);
1256+ }
1257+ }
1258+ g_free (last_wd_string);
1259+
1260+ g_free (shell);
1261+
1262+ done_key ();
1263+
1264+ if (macros_list != NULL)
1265+ {
1266+ guint i;
1267+ macros_t *macros;
1268+ for (i = 0; i < macros_list->len; i++)
1269+ {
1270+ macros = &g_array_index (macros_list, struct macros_t, i);
1271+ if (macros != NULL && macros->macro != NULL)
1272+ (void) g_array_free (macros->macro, FALSE);
1273+ }
1274+ (void) g_array_free (macros_list, TRUE);
1275+ }
1276+
1277+ str_uninit_strings ();
1278+
1279+ g_free (mc_run_param0);
1280+ g_free (mc_run_param1);
1281+
1282+ (void) mc_event_deinit (&error);
1283+
1284+ mc_config_deinit_config_paths ();
1285+
1286+ if (error != NULL)
1287+ {
1288+ fprintf (stderr, _("\nFailed while close:\n%s\n"), error->message);
1289+ g_error_free (error);
1290+ exit (EXIT_FAILURE);
1291+ }
1292+
1293+ (void) putchar ('\n'); /* Hack to make shell's prompt start at left of screen */
1294+
1295+ return 0;
1296+}
1297+
1298+/* --------------------------------------------------------------------------------------------- */
1299
1300=== added directory '.pc/06_use_default_pdf_viewer.patch'
1301=== added directory '.pc/06_use_default_pdf_viewer.patch/misc'
1302=== added file '.pc/06_use_default_pdf_viewer.patch/misc/mc.ext.in'
1303--- .pc/06_use_default_pdf_viewer.patch/misc/mc.ext.in 1970-01-01 00:00:00 +0000
1304+++ .pc/06_use_default_pdf_viewer.patch/misc/mc.ext.in 2012-03-10 15:32:17 +0000
1305@@ -0,0 +1,684 @@
1306+# Midnight Commander 3.0 extension file
1307+# Warning: Structure of this file has changed completely with version 3.0
1308+#
1309+# All lines starting with # or empty lines are thrown away.
1310+# Lines starting in the first column should have following format:
1311+#
1312+# keyword/descNL, i.e. everything after keyword/ until new line is desc
1313+#
1314+# keyword can be:
1315+#
1316+# shell (desc is, when starting with a dot, any extension (no wildcars),
1317+# i.e. matches all the files *desc . Example: .tar matches *.tar;
1318+# if it doesn't start with a dot, it matches only a file of that name)
1319+#
1320+# regex (desc is an extended regular expression)
1321+# Please note that we are using the GNU regex library and thus
1322+# \| matches the literal | and | has special meaning (or) and
1323+# () have special meaning and \( \) stand for literal ( ).
1324+#
1325+# type (file matches this if `file %f` matches regular expression desc
1326+# (the filename: part from `file %f` is removed))
1327+#
1328+# directory (matches any directory matching regular expression desc)
1329+#
1330+# include (matches an include directive)
1331+#
1332+# default (matches any file no matter what desc is)
1333+#
1334+# Other lines should start with a space or tab and should be in the format:
1335+#
1336+# keyword=commandNL (with no spaces around =), where keyword should be:
1337+#
1338+# Open (if the user presses Enter or doubleclicks it),
1339+#
1340+# View (F3), Edit (F4)
1341+#
1342+# Include is the keyword used to add any further entries from an include/
1343+# section
1344+#
1345+# command is any one-line shell command, with the following substitutions:
1346+#
1347+# %% -> % character
1348+# %p -> name of the current file (without path, but pwd is its path)
1349+# %f -> name of the current file. Unlike %p, if file is located on a
1350+# non-local virtual filesystem, i.e. either tarfs or ftpfs,
1351+# then the file will be temporarily copied into a local directory
1352+# and %f will be the full path to this local temporal file.
1353+# If you don't want to get a local copy and want to get the
1354+# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
1355+# use %d/%p instead of %f.
1356+# %d -> name of the current directory (pwd, without trailing slash)
1357+# %s -> "selected files", i.e. space separated list of tagged files if any
1358+# or name of the current file
1359+# %t -> list of tagged files
1360+# %u -> list of tagged files (they'll be untaged after the command)
1361+#
1362+# (If these 6 letters are in uppercase, they refer to the other panel.
1363+# But you shouldn't have to use it in this file.)
1364+#
1365+#
1366+# %cd -> the rest is a path mc should change into (cd won't work, since it's
1367+# a child process). %cd handles even vfs names.
1368+#
1369+# %view -> the command you type will be piped into mc's internal file viewer
1370+# if you type only the %view and no command, viewer will load %f file
1371+# instead (i.e. no piping, so it is different to %view cat %f)
1372+# %view may be directly followed by {} with a list of any of
1373+# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
1374+# text using backspace for bold and underscore) and unform
1375+# (no highlighting for nroff sequences) separated by commas.
1376+#
1377+# %var -> You use it like this: %var{VAR:default}. This macro will expand
1378+# to the value of the VAR variable in the environment if it's set
1379+# otherwise the value in default will be used. This is similar to
1380+# the Bourne shell ${VAR-default} construct.
1381+#
1382+# Rules are applied from top to bottom, thus the order is important.
1383+# If some actions are missing, search continues as if this target didn't
1384+# match (i.e. if a file matches the first and second entry and View action
1385+# is missing in the first one, then on pressing F3 the View action from
1386+# the second entry will be used. default should catch all the actions.
1387+#
1388+# Any new entries you develop for you are always welcome if they are
1389+# useful on more than one system. You can post your modifications
1390+# as tickets at www.midnight-commander.org
1391+
1392+
1393+### Changes ###
1394+#
1395+# Reorganization: 2000-05-01 Michal Svec <rebel@penguin.cz>
1396+
1397+
1398+### TODO ###
1399+#
1400+# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something]
1401+# Images asciiview
1402+#
1403+# All X Apps [Nothing/Warning] if no DISPLAY
1404+# Not found [Default/Warning]
1405+# Empty Output [Default/Warning]
1406+# Edit: CopyOut+EDIT+CopyIn
1407+# Security Check gzip/bzip EDIT (mktemp)
1408+#
1409+# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
1410+
1411+
1412+### GIT Repo ###
1413+# gitfs changeset
1414+regex/^\[git\]
1415+ Open=%cd %p/changesetfs://
1416+ View=%cd %p/patchsetfs://
1417+
1418+### Archives ###
1419+
1420+# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
1421+regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk|\.gem$
1422+ Open=%cd %p/utar://
1423+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
1424+
1425+regex/\.tar\.bz$
1426+ # Open=%cd %p/utar://
1427+ View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
1428+
1429+regex/\.t(ar\.bz2|bz2?|b2)$
1430+ Open=%cd %p/utar://
1431+ View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
1432+
1433+# .tar.lzma, .tlz
1434+regex/\.t(ar\.lzma|lz)$
1435+ Open=%cd %p/utar://
1436+ View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
1437+
1438+# .tar.xz, .txz
1439+regex/\.t(ar\.xz|xz)$
1440+ Open=%cd %p/utar://
1441+ View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
1442+
1443+# .tar.F - used in QNX
1444+regex/\.tar\.F$
1445+ # Open=%cd %p/utar://
1446+ View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
1447+
1448+# .qpr/.qpk - QNX Neutrino package installer files
1449+regex/\.(qp[rk])$
1450+ Open=%cd %p/utar://
1451+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
1452+
1453+# tar
1454+regex/\.(tar|TAR)$
1455+ Open=%cd %p/utar://
1456+ View=%view{ascii} tar tvvf - < %f
1457+
1458+# lha
1459+type/^LHa\ .*archive
1460+ Open=%cd %p/ulha://
1461+ View=%view{ascii} lha l %f
1462+
1463+# arj
1464+regex/\.a(rj|[0-9][0-9])$
1465+ Open=%cd %p/uarj://
1466+ View=%view{ascii} unarj l %f
1467+
1468+# cab
1469+regex/\.([cC][aA][bB])$
1470+ Open=%cd %p/ucab://
1471+ View=%view{ascii} cabextract -l %f
1472+
1473+# ha
1474+regex/\.([Hh][Aa])$
1475+ Open=%cd %p/uha://
1476+ View=%view{ascii} ha lf %f
1477+
1478+# rar
1479+regex/\.[rR]([aA][rR]|[0-9][0-9])$
1480+ Open=%cd %p/urar://
1481+ View=%view{ascii} rar v -c- %f
1482+
1483+# ALZip
1484+regex/\.(alz|ALZ)$
1485+ Open=%cd %p/ualz://
1486+ View=%view{ascii} unalz -l %f
1487+
1488+# cpio
1489+shell/.cpio.Z
1490+ Open=%cd %p/ucpio://
1491+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
1492+
1493+shell/.cpio.gz
1494+ Open=%cd %p/ucpio://
1495+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
1496+
1497+shell/.cpio
1498+ Open=%cd %p/ucpio://
1499+ View=%view{ascii} cpio -itv < %f 2>/dev/null
1500+
1501+# ls-lR
1502+regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
1503+ Open=%cd %p/lslR://
1504+
1505+# patch
1506+regex/\.(diff|patch)(\.bz2)$
1507+ Open=%cd %p/patchfs://
1508+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
1509+
1510+regex/\.(diff|patch)(\.(gz|Z))$
1511+ Open=%cd %p/patchfs://
1512+ View=%view{ascii} gzip -dc %f 2>/dev/null
1513+
1514+regex/\.(diff|patch)$
1515+ Open=%cd %p/patchfs://
1516+ View=%view{ascii} /bin/cat %f 2>/dev/null
1517+
1518+# ar library
1519+regex/\.s?a$
1520+ Open=%cd %p/uar://
1521+ #Open=%view{ascii} ar tv %f
1522+ View=%view{ascii} file %f && nm -C %f
1523+
1524+# trpm
1525+regex/\.trpm$
1526+ Open=%cd %p/trpm://
1527+ View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
1528+
1529+# RPM packages (SuSE uses *.spm for source packages)
1530+regex/\.(src\.rpm|spm)$
1531+ Open=%cd %p/rpm://
1532+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
1533+
1534+regex/\.rpm$
1535+ Open=%cd %p/rpm://
1536+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
1537+
1538+# deb
1539+regex/\.u?deb$
1540+ Open=%cd %p/deb://
1541+ View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
1542+
1543+# dpkg
1544+shell/.debd
1545+ Open=%cd %p/debd://
1546+ View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
1547+# apt
1548+shell/.deba
1549+ Open=%cd %p/deba://
1550+ View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
1551+
1552+# ISO9660
1553+regex/\.([iI][sS][oO])$
1554+ Open=%cd %p/iso9660://
1555+ View=%view{ascii} isoinfo -l -i %f
1556+
1557+# 7zip archives (they are not man pages)
1558+regex/\.(7z|7Z)$
1559+ Open=%cd %p/u7z://
1560+ View=%view{ascii} 7za l %f 2>/dev/null
1561+
1562+# Mailboxes
1563+type/^ASCII\ mail\ text
1564+ Open=%cd %p/mailfs://
1565+
1566+
1567+### Sources ###
1568+
1569+# C
1570+shell/.c
1571+ Include=editor
1572+
1573+# Fortran
1574+shell/.f
1575+ Include=editor
1576+
1577+# Header
1578+regex/\.(h|hpp)$
1579+ Include=editor
1580+
1581+# Asm
1582+shell/.s
1583+ Include=editor
1584+
1585+# C++
1586+regex/\.(C|cc|cpp)$
1587+ Include=editor
1588+
1589+include/editor
1590+ Open=%var{EDITOR:vi} %f
1591+
1592+# .so libraries
1593+regex/\.(so|so\.[0-9\.]*)$
1594+ View=%view{ascii} file %f && nm -C -D %f
1595+
1596+# Object
1597+type/^ELF
1598+ #Open=%var{PAGER:more} %f
1599+ View=%view{ascii} file %f && nm -C %f
1600+
1601+### Documentation ###
1602+
1603+# Texinfo
1604+regex/\.(te?xi|texinfo)$
1605+
1606+# GNU Info page
1607+type/^Info\ text
1608+ Open=info -f %f
1609+
1610+shell/.info
1611+ Open=info -f %f
1612+
1613+# Exception: .3gp are video files not manual pages
1614+regex/\.(3[gG][pP])$
1615+ Include=video
1616+
1617+# Manual page
1618+regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
1619+ Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
1620+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
1621+
1622+# Perl pod page
1623+shell/.pod
1624+ Open=pod2man %f | nroff @MAN_FLAGS@ @MANDOC@ | %var{PAGER:more}
1625+ View=%view{ascii,nroff} pod2man %f | nroff @MAN_FLAGS@ @MANDOC@
1626+
1627+# Troff with me macros.
1628+# Exception - "read.me" is not a nroff file.
1629+shell/read.me
1630+ Open=
1631+ View=
1632+
1633+shell/.me
1634+ Open=nroff @MAN_FLAGS@ -me %f | %var{PAGER:more}
1635+ View=%view{ascii,nroff} nroff @MAN_FLAGS@ -me %f
1636+
1637+# Troff with ms macros.
1638+shell/.ms
1639+ Open=nroff @MAN_FLAGS@ -ms %f | %var{PAGER:more}
1640+ View=%view{ascii,nroff} nroff @MAN_FLAGS@ -ms %f
1641+
1642+# Manual page - compressed
1643+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
1644+ Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
1645+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
1646+
1647+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
1648+ Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
1649+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
1650+
1651+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
1652+ Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
1653+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
1654+
1655+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
1656+ Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
1657+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
1658+
1659+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
1660+ Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
1661+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
1662+
1663+# CHM
1664+regex/\.(chm|CHM)$
1665+ Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
1666+
1667+### Images ###
1668+
1669+type/^GIF
1670+ Include=image
1671+
1672+type/^JPEG
1673+ View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
1674+ Include=image
1675+
1676+type/^PC\ bitmap
1677+ Include=image
1678+
1679+type/^PNG
1680+ Include=image
1681+
1682+type/^TIFF
1683+ Include=image
1684+
1685+type/^PBM
1686+ Include=image
1687+
1688+type/^PGM
1689+ Include=image
1690+
1691+type/^PPM
1692+ Include=image
1693+
1694+type/^Netpbm
1695+ Include=image
1696+
1697+shell/.xcf
1698+ Open=(gimp %f &)
1699+
1700+shell/.xbm
1701+ Open=bitmap %f
1702+
1703+shell/.xpm
1704+ Include=image
1705+ View=sxpm %f
1706+
1707+shell/.ico
1708+ Include=image
1709+
1710+include/image
1711+ Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (gqview %f &); fi
1712+ View=%view{ascii} identify %f
1713+ #View=%view{ascii} asciiview %f
1714+
1715+
1716+### Sound files ###
1717+
1718+regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
1719+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
1720+
1721+regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
1722+ Open=mikmod %f
1723+ #Open=tracker %f
1724+
1725+regex/\.([wW][aA][wW]22)$
1726+ Open=vplay -s 22 %f
1727+
1728+regex/\.([mM][pP]3)$
1729+ Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
1730+ View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
1731+
1732+regex/\.([oO][gG][gG|aA|vV|xX])$
1733+ Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
1734+ View=%view{ascii} ogginfo %s
1735+
1736+regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
1737+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
1738+
1739+regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
1740+ Open=timidity %f
1741+
1742+regex/\.([wW][mM][aA])$
1743+ Open=mplayer -vo null %f
1744+ View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
1745+
1746+
1747+### Play lists ###
1748+
1749+regex/\.([mM]3[uU]|[pP][lL][sS])$
1750+ Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi
1751+
1752+
1753+### Video ###
1754+
1755+regex/\.([aA][vV][iI])$
1756+ Include=video
1757+
1758+regex/\.([aA][sS][fFxX])$
1759+ Include=video
1760+
1761+regex/\.([dD][iI][vV][xX])$
1762+ Include=video
1763+
1764+regex/\.([mM][kK][vV])$
1765+ Include=video
1766+
1767+regex/\.([mM][oO][vV]|[qQ][tT])$
1768+ Include=video
1769+
1770+regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
1771+ Include=video
1772+
1773+# MPEG-2 TS container + H.264 codec
1774+regex/\.([mM][tT][sS])$
1775+ Include=video
1776+
1777+regex/\.([vV][oO][bB])$
1778+ Include=video
1779+
1780+regex/\.([wW][mM][vV])$
1781+ Include=video
1782+
1783+regex/\.([fF][lL][iIcCvV])$
1784+ Include=video
1785+
1786+regex/\.([oO][gG][mM])$
1787+ Include=video
1788+
1789+regex/\.([rR][aA]?[mM])$
1790+ Open=(realplay %f >/dev/null 2>&1 &)
1791+
1792+include/video
1793+ Open=(mplayer %f >/dev/null 2>&1 &)
1794+ #Open=(gtv %f >/dev/null 2>&1 &)
1795+ #Open=(xanim %f >/dev/null 2>&1 &)
1796+
1797+
1798+### Documents ###
1799+
1800+# Postscript
1801+type/^PostScript
1802+ Open=(gv %f &)
1803+ View=%view{ascii} ps2ascii %f
1804+
1805+# PDF
1806+type/^PDF
1807+ Open=(xpdf %f &)
1808+ #Open=(acroread %f &)
1809+ #Open=(ghostview %f &)
1810+ View=%view{ascii} pdftotext %f -
1811+
1812+# The following code very ugly and should not be taken as example.
1813+# It should be cleaned up when the new format of mc.ext is developed.
1814+
1815+# html
1816+regex/\.([hH][tT][mM][lL]?)$
1817+ Open=(if test -n "@X11_WWW@" && test -n "$DISPLAY"; then (@X11_WWW@ file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
1818+ View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
1819+
1820+# StarOffice 5.2
1821+shell/.sdw
1822+ Open=(ooffice %f &)
1823+
1824+# StarOffice 6 and OpenOffice.org formats
1825+regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
1826+ Open=(ooffice %f &)
1827+ View=%view{ascii} odt2txt %f
1828+
1829+# AbiWord
1830+shell/.abw
1831+ Open=(abiword %f &)
1832+
1833+# Microsoft Word Document
1834+regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
1835+ Open=(abiword %f >/dev/null 2>&1 &)
1836+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
1837+type/^Microsoft\ Word
1838+ Open=(abiword %f >/dev/null 2>&1 &)
1839+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
1840+
1841+# RTF document
1842+regex/\.([rR][tT][fF])$
1843+ Open=(abiword %f >/dev/null 2>&1 &)
1844+
1845+# Microsoft Excel Worksheet
1846+regex/\.([xX][lL][sSwW])$
1847+ Open=(gnumeric %f >/dev/null 2>&1 &)
1848+ View=%view{ascii} xls2csv %f || strings %f
1849+type/^Microsoft\ Excel
1850+ Open=(gnumeric %f >/dev/null 2>&1 &)
1851+ View=%view{ascii} xls2csv %f || strings %f
1852+
1853+# Use OpenOffice.org to open any MS Office documents
1854+type/^Microsoft\ Office\ Document
1855+ Open=(ooffice %f &)
1856+
1857+# Framemaker
1858+type/^FrameMaker
1859+ Open=fmclient -f %f
1860+
1861+# DVI
1862+regex/\.([dD][vV][iI])$
1863+ Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi
1864+ View=%view{ascii} dvi2tty %f
1865+
1866+# TeX
1867+regex/\.([Tt][Ee][Xx])$
1868+ Include=editor
1869+
1870+# DjVu
1871+regex/\.(djvu|DJVU)$
1872+ Open=djview %f &
1873+
1874+### Miscellaneous ###
1875+
1876+# Makefile
1877+regex/[Mm]akefile$
1878+ Open=make -f %f %{Enter parameters}
1879+
1880+# Imakefile
1881+shell/Imakefile
1882+ Open=xmkmf -a
1883+
1884+# Makefile.PL (MakeMaker)
1885+regex/^Makefile.(PL|pl)$
1886+ Open=%var{PERL:perl} %f
1887+
1888+# dbf
1889+regex/\.([dD][bB][fF])$
1890+ Open=%view{ascii} dbview %f
1891+ View=%view{ascii} dbview -b %f
1892+
1893+# REXX script
1894+regex/\.(rexx?|cmd)$
1895+ Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
1896+
1897+# Disk images for Commodore computers (VIC20, C64, C128)
1898+regex/\.(d64|D64)$
1899+ Open=%cd %p/uc1541://
1900+ View=%view{ascii} c1541 %f -list
1901+ Extract=c1541 %f -extract
1902+
1903+# Glade, a user interface designer for GTK+ and GNOME
1904+regex/\.([Gg][Ll][Aa][Dd][Ee])$
1905+ Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
1906+
1907+# Gettext Catalogs
1908+shell/.mo
1909+ View=%view{ascii} msgunfmt %f || cat %f
1910+
1911+# lyx
1912+regex/\.(lyx|LYX)$
1913+ Open=lyx %f
1914+ View=%view{ascii} lyxcat %f
1915+
1916+# torrent
1917+regex/\.([tT][oO][rR][rR][eE][nN][tT])$
1918+ View=%view{ascii} ctorrent -x %f 2>/dev/null
1919+
1920+### Plain compressed files ###
1921+
1922+# ace
1923+regex/\.(ace|ACE)$
1924+ Open=%cd %p/uace://
1925+ View=%view{ascii} unace l %f
1926+ Extract=unace x %f
1927+
1928+# arc
1929+regex/\.(arc|ARC)$
1930+ Open=%cd %p/uarc://
1931+ View=%view{ascii} arc l %f
1932+ Extract=arc x %f '*'
1933+ Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
1934+
1935+# zip
1936+type/^([Zz][Ii][Pp])\ archive
1937+ Open=%cd %p/uzip://
1938+ View=%view{ascii} unzip -v %f
1939+
1940+# zoo
1941+regex/\.([Zz][Oo][Oo])$
1942+ Open=%cd %p/uzoo://
1943+ View=%view{ascii} zoo l %f
1944+
1945+# gzip
1946+type/^gzip
1947+ Open=gzip -dc %f | %var{PAGER:more}
1948+ View=%view{ascii} gzip -dc %f 2>/dev/null
1949+
1950+regex/\.(gz|Z)$
1951+ View=%view{ascii} gzip -dc %f 2>/dev/null
1952+
1953+# bzip2
1954+type/^bzip2
1955+ Open=bzip2 -dc %f | %var{PAGER:more}
1956+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
1957+
1958+regex/\.bz2?$
1959+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
1960+
1961+# bzip
1962+type/^bzip
1963+ Open=bzip -dc %f | %var{PAGER:more}
1964+ View=%view{ascii} bzip -dc %f 2>/dev/null
1965+
1966+# compress
1967+type/^compress
1968+ Open=gzip -dc %f | %var{PAGER:more}
1969+ View=%view{ascii} gzip -dc %f 2>/dev/null
1970+
1971+# lzma
1972+regex/\.lzma$
1973+ Open=lzma -dc %f | %var{PAGER:more}
1974+ View=%view{ascii} lzma -dc %f 2>/dev/null
1975+
1976+# xz
1977+regex/\.xz$
1978+ Open=xz -dc %f | %var{PAGER:more}
1979+ View=%view{ascii} xz -dc %f 2>/dev/null
1980+
1981+### Default ###
1982+
1983+# Default target for anything not described above
1984+default/*
1985+ Open=
1986+ View=
1987+
1988+
1989+### EOF ###
1990
1991=== added directory '.pc/08_use_sensible-editor.patch'
1992=== added directory '.pc/08_use_sensible-editor.patch/lib'
1993=== added file '.pc/08_use_sensible-editor.patch/lib/global.h'
1994--- .pc/08_use_sensible-editor.patch/lib/global.h 1970-01-01 00:00:00 +0000
1995+++ .pc/08_use_sensible-editor.patch/lib/global.h 2012-03-10 15:32:17 +0000
1996@@ -0,0 +1,290 @@
1997+/** \file global.h
1998+ * \brief Header: %global definitions for compatibility
1999+ *
2000+ * This file should be included after all system includes and before all local includes.
2001+ */
2002+
2003+#ifndef MC_GLOBAL_H
2004+#define MC_GLOBAL_H
2005+
2006+#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
2007+#include <string.h>
2008+ /* An ANSI string.h and pre-ANSI memory.h might conflict */
2009+#if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H)
2010+#include <memory.h>
2011+#endif /* !STDC_HEADERS & HAVE_MEMORY_H */
2012+
2013+#else /* !STDC_HEADERS & !HAVE_STRING_H */
2014+#include <strings.h>
2015+ /* memory and strings.h conflict on other systems */
2016+#endif /* !STDC_HEADERS & !HAVE_STRING_H */
2017+
2018+#ifdef HAVE_SYS_PARAM_H
2019+#include <sys/param.h>
2020+#endif
2021+
2022+/*** typedefs(not structures) and defined constants **********************************************/
2023+
2024+/* The O_BINARY definition was taken from gettext */
2025+#if !defined O_BINARY && defined _O_BINARY
2026+ /* For MSC-compatible compilers. */
2027+#define O_BINARY _O_BINARY
2028+#endif
2029+#ifdef __BEOS__
2030+ /* BeOS 5 has O_BINARY, but is has no effect. */
2031+#undef O_BINARY
2032+#endif
2033+/* On reasonable systems, binary I/O is the default. */
2034+#ifndef O_BINARY
2035+#define O_BINARY 0
2036+#endif
2037+
2038+/* Replacement for O_NONBLOCK */
2039+#ifndef O_NONBLOCK
2040+#ifdef O_NDELAY /* SYSV */
2041+#define O_NONBLOCK O_NDELAY
2042+#else /* BSD */
2043+#define O_NONBLOCK FNDELAY
2044+#endif /* !O_NDELAY */
2045+#endif /* !O_NONBLOCK */
2046+
2047+#ifdef HAVE_SYS_SELECT_H
2048+#include <sys/select.h>
2049+#endif
2050+
2051+#if defined(__QNX__) && !defined(__QNXNTO__)
2052+/* exec*() from <process.h> */
2053+#include <unix.h>
2054+#endif
2055+
2056+#include <glib.h>
2057+#include "glibcompat.h"
2058+
2059+#ifndef __GNUC__
2060+#define __attribute__(x)
2061+#endif
2062+
2063+/* Solaris9 doesn't have PRIXMAX */
2064+#ifndef PRIXMAX
2065+#define PRIXMAX PRIxMAX
2066+#endif
2067+
2068+#ifdef ENABLE_NLS
2069+#include <libintl.h>
2070+#define _(String) gettext (String)
2071+#ifdef gettext_noop
2072+#define N_(String) gettext_noop (String)
2073+#else
2074+#define N_(String) (String)
2075+#endif
2076+#else /* Stubs that do something close enough. */
2077+#define textdomain(String) 1
2078+#define gettext(String) (String)
2079+#define ngettext(String1,String2,Num) (((Num) == 1) ? (String1) : (String2))
2080+#define dgettext(Domain,Message) (Message)
2081+#define dcgettext(Domain,Message,Type) (Message)
2082+#define bindtextdomain(Domain,Directory) 1
2083+#define _(String) (String)
2084+#define N_(String) (String)
2085+#endif /* !ENABLE_NLS */
2086+
2087+#include "fs.h"
2088+
2089+#ifdef USE_MAINTAINER_MODE
2090+#include "lib/logging.h"
2091+#endif
2092+
2093+#ifdef min
2094+#undef min
2095+#endif
2096+
2097+#ifdef max
2098+#undef max
2099+#endif
2100+
2101+#define min(x, y) ((x) > (y) ? (y) : (x))
2102+#define max(x, y) ((x) > (y) ? (x) : (y))
2103+
2104+/* Just for keeping Your's brains from invention a proper size of the buffer :-) */
2105+#define BUF_10K 10240L
2106+#define BUF_8K 8192L
2107+#define BUF_4K 4096L
2108+#define BUF_1K 1024L
2109+
2110+#define BUF_LARGE BUF_1K
2111+#define BUF_MEDIUM 512
2112+#define BUF_SMALL 128
2113+#define BUF_TINY 64
2114+
2115+/* AIX compiler doesn't understand '\e' */
2116+#define ESC_CHAR '\033'
2117+#define ESC_STR "\033"
2118+
2119+/* OS specific defines */
2120+#define PATH_SEP '/'
2121+#define PATH_SEP_STR "/"
2122+#define PATH_ENV_SEP ':'
2123+#define TMPDIR_DEFAULT "/tmp"
2124+#define SCRIPT_SUFFIX ""
2125+#define get_default_editor() "vi"
2126+#define OS_SORT_CASE_SENSITIVE_DEFAULT 1
2127+#define UTF8_CHAR_LEN 6
2128+
2129+/* C++ style type casts */
2130+#define const_cast(m_type, m_expr) ((m_type) (m_expr))
2131+
2132+#if 0
2133+#ifdef MC_ENABLE_DEBUGGING_CODE
2134+#undef NDEBUG
2135+#else
2136+#define NDEBUG
2137+#endif
2138+#include <assert.h>
2139+#endif
2140+
2141+#define MC_ERROR g_quark_from_static_string (PACKAGE)
2142+
2143+/*** enums ***************************************************************************************/
2144+
2145+/* run mode and params */
2146+typedef enum
2147+{
2148+ MC_RUN_FULL = 0,
2149+ MC_RUN_EDITOR,
2150+ MC_RUN_VIEWER,
2151+ MC_RUN_DIFFVIEWER
2152+} mc_run_mode_t;
2153+
2154+/*** structures declarations (and typedefs of structures)*****************************************/
2155+
2156+typedef struct
2157+{
2158+#ifdef WITH_BACKGROUND
2159+ /* If true, this is a background process */
2160+ int we_are_background;
2161+#endif /* WITH_BACKGROUND */
2162+
2163+ /*
2164+ * If utf-8 terminal utf8_display = 1
2165+ * Display bits set UTF-8
2166+ */
2167+ int utf8_display;
2168+
2169+ /* Set if the nice message (hint) bar is visible */
2170+ int message_visible;
2171+
2172+ /* Set if the nice and useful keybar is visible */
2173+ int keybar_visible;
2174+
2175+ mc_run_mode_t mc_run_mode;
2176+
2177+#ifdef HAVE_CHARSET
2178+ /* Numbers of (file I/O) and (input/display) codepages. -1 if not selected */
2179+ int source_codepage;
2180+ int display_codepage;
2181+#else
2182+ /* If true, allow characters in the range 160-255 */
2183+ int eight_bit_clean;
2184+ /*
2185+ * If true, also allow characters in the range 128-159.
2186+ * This is reported to break on many terminals (xterm, qansi-m).
2187+ */
2188+ int full_eight_bits;
2189+#endif /* !HAVE_CHARSET */
2190+
2191+ /* sysconfig_dir: Area for default settings from maintainers of distributuves
2192+ default is /etc/mc or may be defined by MC_DATADIR
2193+ */
2194+ char *sysconfig_dir;
2195+
2196+ /* share_data_dir: Area for default settings from developers */
2197+ char *share_data_dir;
2198+
2199+ /* Ugly hack in order to distinguish between left and right panel in menubar */
2200+ /* Set if the command is being run from the "Right" menu */
2201+ gboolean is_right; /* If the selected menu was the right */
2202+
2203+ /* Use the specified skin */
2204+ char *skin;
2205+
2206+ struct
2207+ {
2208+ /* Used so that widgets know if they are being destroyed or shut down */
2209+ gboolean midnight_shutdown;
2210+
2211+ /* Asks for confirmation before clean up of history */
2212+ gboolean confirm_history_cleanup;
2213+
2214+ /* Set if you want the possible completions dialog for the first time */
2215+ gboolean show_all_if_ambiguous;
2216+
2217+ } widget;
2218+
2219+ struct
2220+ {
2221+ char *setup_color_string;
2222+ char *term_color_string;
2223+ char *color_terminal_string;
2224+
2225+ /* Set if the window has changed it's size */
2226+ gboolean winch_flag;
2227+
2228+#ifndef LINUX_CONS_SAVER_C
2229+ /* Used only in mc, not in cons.saver */
2230+ char console_flag;
2231+#endif /* !LINUX_CONS_SAVER_C */
2232+ /* If using a subshell for evaluating commands this is true */
2233+ gboolean use_subshell;
2234+#ifdef HAVE_SUBSHELL_SUPPORT
2235+ /* File descriptors of the pseudoterminal used by the subshell */
2236+ int subshell_pty;
2237+#endif /* !HAVE_SUBSHELL_SUPPORT */
2238+
2239+ /* colors specified on the command line: they override any other setting */
2240+ char *command_line_colors;
2241+
2242+ /* This flag is set by xterm detection routine in function main() */
2243+ /* It is used by function view_other_cmd() */
2244+ gboolean xterm_flag;
2245+
2246+ /* For slow terminals */
2247+ /* If true lines are shown by spaces */
2248+ gboolean slow_terminal;
2249+
2250+ /* Set to force black and white display at program startup */
2251+ gboolean disable_colors;
2252+
2253+ /* If true use +, -, | for line drawing */
2254+ gboolean ugly_line_drawing;
2255+
2256+ /* Tries to use old highlight mouse tracking */
2257+ gboolean old_mouse;
2258+
2259+ /* If true, use + and \ keys normally and select/unselect do if M-+ / M-\.
2260+ and M-- and keypad + / - */
2261+ gboolean alternate_plus_minus;
2262+
2263+ } tty;
2264+
2265+ struct
2266+ {
2267+ /* Set when cd symlink following is desirable (bash mode) */
2268+ gboolean cd_symlinks;
2269+
2270+ /* Preallocate space before file copying */
2271+ gboolean preallocate_space;
2272+
2273+ } vfs;
2274+
2275+} mc_global_t;
2276+
2277+/*** global variables defined in .c file *********************************************************/
2278+
2279+extern mc_global_t mc_global;
2280+
2281+/*** declarations of public functions ************************************************************/
2282+
2283+void refresh_screen (void *);
2284+
2285+/*** inline functions ****************************************************************************/
2286+#endif
2287
2288=== added directory '.pc/09_uzip_broken_528239.patch'
2289=== added directory '.pc/09_uzip_broken_528239.patch/src'
2290=== added directory '.pc/09_uzip_broken_528239.patch/src/vfs'
2291=== added directory '.pc/09_uzip_broken_528239.patch/src/vfs/extfs'
2292=== added directory '.pc/09_uzip_broken_528239.patch/src/vfs/extfs/helpers'
2293=== added file '.pc/09_uzip_broken_528239.patch/src/vfs/extfs/helpers/uzip.in'
2294--- .pc/09_uzip_broken_528239.patch/src/vfs/extfs/helpers/uzip.in 1970-01-01 00:00:00 +0000
2295+++ .pc/09_uzip_broken_528239.patch/src/vfs/extfs/helpers/uzip.in 2012-03-10 15:32:17 +0000
2296@@ -0,0 +1,471 @@
2297+#! @PERL@ -w
2298+#
2299+# zip file archive Virtual File System for Midnight Commander
2300+# Version 1.4.0 (2001-08-07).
2301+#
2302+# (C) 2000-2001 Oskar Liljeblad <osk@hem.passagen.se>.
2303+#
2304+
2305+use POSIX;
2306+use File::Basename;
2307+use strict;
2308+
2309+#
2310+# Configuration options
2311+#
2312+
2313+# Location of the zip program
2314+my $app_zip = "@ZIP@";
2315+# Location of the unzip program
2316+my $app_unzip = "@UNZIP@";
2317+# Set this to 1 if zipinfo (unzip -Z) is to be used (recommended), otherwise 0.
2318+my $op_has_zipinfo = @HAVE_ZIPINFO@;
2319+
2320+# Command used to list archives (zipinfo mode)
2321+my $cmd_list_zi = "$app_unzip -Z -l -T";
2322+# Command used to list archives (non-zipinfo mode)
2323+my $cmd_list_nzi = "$app_unzip -qq -v";
2324+# Command used to add a file to the archive
2325+my $cmd_add = "$app_zip -g";
2326+# Command used to add a link file to the archive (unused)
2327+my $cmd_addlink = "$app_zip -g -y";
2328+# Command used to delete a file from the archive
2329+my $cmd_delete = "$app_zip -d";
2330+# Command used to extract a file to standard out
2331+my $cmd_extract = "$app_unzip -p";
2332+
2333+# -rw-r--r-- 2.2 unx 2891 tx 1435 defN 20000330.211927 ./edit.html
2334+# (perm) (?) (?) (size) (?) (zippedsize) (method) (yyyy)(mm)(dd)(HH)(MM) (fname)
2335+my $regex_zipinfo_line = qr"^(\S{7,10})\s+(\d+\.\d+)\s+(\S+)\s+(\d+)\s+(\S\S)\s+(\d+)\s+(\S{4})\s+(\d{4})(\d\d)(\d\d)\.(\d\d)(\d\d)(\d\d)\s(.*)$";
2336+
2337+# 2891 Defl:N 1435 50% 03-30-00 21:19 50cbaaf8 ./edit.html
2338+# (size) (method) (zippedsize) (zipratio) (mm)(dd)(yy|yyyy)(HH)(MM) (cksum) (fname)
2339+my $regex_nonzipinfo_line = qr"^\s*(\d+)\s+(\S+)\s+(\d+)\s+(-?\d+\%)\s+(\d?\d)-(\d?\d)-(\d+)\s+(\d?\d):(\d\d)\s+([0-9a-f]+)\s\s(.*)$";
2340+
2341+#
2342+# Main code
2343+#
2344+
2345+die "uzip: missing command and/or archive arguments\n" if ($#ARGV < 1);
2346+
2347+# Initialization of some global variables
2348+my $cmd = shift;
2349+my %known = ( './' => 1 );
2350+my %pending = ();
2351+my $oldpwd = POSIX::getcwd();
2352+my $archive = shift;
2353+my $aarchive = absolutize($archive, $oldpwd);
2354+my $cmd_list = ($op_has_zipinfo ? $cmd_list_zi : $cmd_list_nzi);
2355+my ($qarchive, $aqarchive) = map (quotemeta, $archive, $aarchive);
2356+
2357+# Strip all "." and ".." path components from a pathname.
2358+sub zipfs_canonicalize_pathname($) {
2359+ my ($fname) = @_;
2360+ $fname =~ s,/+,/,g;
2361+ $fname =~ s,(^|/)(?:\.?\./)+,$1,;
2362+ return $fname;
2363+}
2364+
2365+# The Midnight Commander never calls this script with archive pathnames
2366+# starting with either "./" or "../". Some ZIP files contain such names,
2367+# so we need to build a translation table for them.
2368+my $zipfs_realpathname_table = undef;
2369+sub zipfs_realpathname($) {
2370+ my ($fname) = @_;
2371+
2372+ if (!defined($zipfs_realpathname_table)) {
2373+ $zipfs_realpathname_table = {};
2374+ if (!open(ZIP, "$cmd_list $qarchive |")) {
2375+ return $fname;
2376+ }
2377+ foreach my $line (<ZIP>) {
2378+ $line =~ s/\r*\n*$//;
2379+ if ($op_has_zipinfo) {
2380+ if ($line =~ $regex_zipinfo_line) {
2381+ my ($fname) = ($14);
2382+ $zipfs_realpathname_table->{zipfs_canonicalize_pathname($fname)} = $fname;
2383+ }
2384+ } else {
2385+ if ($line =~ $regex_nonzipinfo_line) {
2386+ my ($fname) = ($11);
2387+ $zipfs_realpathname_table->{zipfs_canonicalize_pathname($fname)} = $fname;
2388+ }
2389+ }
2390+ }
2391+ if (!close(ZIP)) {
2392+ return $fname;
2393+ }
2394+ }
2395+ if (exists($zipfs_realpathname_table->{$fname})) {
2396+ return $zipfs_realpathname_table->{$fname};
2397+ }
2398+ return $fname;
2399+}
2400+
2401+if ($cmd eq 'list') { &mczipfs_list(@ARGV); }
2402+if ($cmd eq 'rm') { &mczipfs_rm(@ARGV); }
2403+if ($cmd eq 'rmdir') { &mczipfs_rmdir(@ARGV); }
2404+if ($cmd eq 'mkdir') { &mczipfs_mkdir(@ARGV); }
2405+if ($cmd eq 'copyin') { &mczipfs_copyin(@ARGV); }
2406+if ($cmd eq 'copyout') { &mczipfs_copyout(@ARGV); }
2407+if ($cmd eq 'run') { &mczipfs_run(@ARGV); }
2408+#if ($cmd eq 'mklink') { &mczipfs_mklink(@ARGV); } # Not supported by MC extfs
2409+#if ($cmd eq 'linkout') { &mczipfs_linkout(@ARGV); } # Not supported by MC extfs
2410+exit 1;
2411+
2412+# Remove a file from the archive.
2413+sub mczipfs_rm {
2414+ my ($qfile) = map { &zipquotemeta(zipfs_realpathname($_)) } @_;
2415+
2416+ # "./" at the beginning of pathnames is stripped by Info-ZIP,
2417+ # so convert it to "[.]/" to prevent stripping.
2418+ $qfile =~ s/^\\\./[.]/;
2419+
2420+ &checkargs(1, 'archive file', @_);
2421+ &safesystem("$cmd_delete $qarchive $qfile >/dev/null");
2422+ exit;
2423+}
2424+
2425+# Remove an empty directory from the archive.
2426+# The only difference from mczipfs_rm is that we append an
2427+# additional slash to the directory name to remove. I am not
2428+# sure this is absolutely necessary, but it doesn't hurt.
2429+sub mczipfs_rmdir {
2430+ my ($qfile) = map { &zipquotemeta(zipfs_realpathname($_)) } @_;
2431+ &checkargs(1, 'archive directory', @_);
2432+ &safesystem("$cmd_delete $qarchive $qfile/ >/dev/null", 12);
2433+ exit;
2434+}
2435+
2436+# Extract a file from the archive.
2437+# Note that we don't need to check if the file is a link,
2438+# because mc apparently doesn't call copyout for symbolic links.
2439+sub mczipfs_copyout {
2440+ my ($qafile, $qfsfile) = map { &zipquotemeta(zipfs_realpathname($_)) } @_;
2441+ &checkargs(1, 'archive file', @_);
2442+ &checkargs(2, 'local file', @_);
2443+ &safesystem("$cmd_extract $qarchive $qafile > $qfsfile", 11);
2444+ exit;
2445+}
2446+
2447+# Add a file to the archive.
2448+# This is done by making a temporary directory, in which
2449+# we create a symlink the original file (with a new name).
2450+# Zip is then run to include the real file in the archive,
2451+# with the name of the symbolic link.
2452+# Here we also doesn't need to check for symbolic links,
2453+# because the mc extfs doesn't allow adding of symbolic
2454+# links.
2455+sub mczipfs_copyin {
2456+ my ($afile, $fsfile) = @_;
2457+ &checkargs(1, 'archive file', @_);
2458+ &checkargs(2, 'local file', @_);
2459+ my ($qafile) = quotemeta $afile;
2460+ $fsfile = &absolutize($fsfile, $oldpwd);
2461+ my $adir = File::Basename::dirname($afile);
2462+
2463+ my $tmpdir = &mktmpdir();
2464+ chdir $tmpdir || &croak("chdir $tmpdir failed");
2465+ &mkdirs($adir, 0700);
2466+ symlink ($fsfile, $afile) || &croak("link $afile failed");
2467+ &safesystem("$cmd_add $aqarchive $qafile >/dev/null");
2468+ unlink $afile || &croak("unlink $afile failed");
2469+ &rmdirs($adir);
2470+ chdir $oldpwd || &croak("chdir $oldpwd failed");
2471+ rmdir $tmpdir || &croak("rmdir $tmpdir failed");
2472+ exit;
2473+}
2474+
2475+# Add an empty directory the the archive.
2476+# This is similar to mczipfs_copyin, except that we don't need
2477+# to use symlinks.
2478+sub mczipfs_mkdir {
2479+ my ($dir) = @_;
2480+ &checkargs(1, 'directory', @_);
2481+ my ($qdir) = quotemeta $dir;
2482+
2483+ my $tmpdir = &mktmpdir();
2484+ chdir $tmpdir || &croak("chdir $tmpdir failed");
2485+ &mkdirs($dir, 0700);
2486+ &safesystem("$cmd_add $aqarchive $qdir >/dev/null");
2487+ &rmdirs($dir);
2488+ chdir $oldpwd || &croak("chdir $oldpwd failed");
2489+ rmdir $tmpdir || &croak("rmdir $tmpdir failed");
2490+ exit;
2491+}
2492+
2493+# Add a link to the archive. This operation is not used yet,
2494+# because it is not supported by the MC extfs.
2495+sub mczipfs_mklink {
2496+ my ($linkdest, $afile) = @_;
2497+ &checkargs(1, 'link destination', @_);
2498+ &checkargs(2, 'archive file', @_);
2499+ my ($qafile) = quotemeta $afile;
2500+ my $adir = File::Basename::dirname($afile);
2501+
2502+ my $tmpdir = &mktmpdir();
2503+ chdir $tmpdir || &croak("chdir $tmpdir failed");
2504+ &mkdirs($adir, 0700);
2505+ symlink ($linkdest, $afile) || &croak("link $afile failed");
2506+ &safesystem("$cmd_addlink $aqarchive $qafile >/dev/null");
2507+ unlink $afile || &croak("unlink $afile failed");
2508+ &rmdirs($adir);
2509+ chdir $oldpwd || &croak("chdir $oldpwd failed");
2510+ rmdir $tmpdir || &croak("rmdir $tmpdir failed");
2511+ exit;
2512+}
2513+
2514+# This operation is not used yet, because it is not
2515+# supported by the MC extfs.
2516+sub mczipfs_linkout {
2517+ my ($afile, $fsfile) = @_;
2518+ &checkargs(1, 'archive file', @_);
2519+ &checkargs(2, 'local file', @_);
2520+ my ($qafile) = map { &zipquotemeta($_) } $afile;
2521+
2522+ my $linkdest = &get_link_destination($afile);
2523+ symlink ($linkdest, $fsfile) || &croak("link $fsfile failed");
2524+ exit;
2525+}
2526+
2527+# Use unzip to find the link destination of a certain file in the
2528+# archive.
2529+sub get_link_destination {
2530+ my ($afile) = @_;
2531+ my ($qafile) = map { &zipquotemeta($_) } $afile;
2532+ my $linkdest = safeticks("$cmd_extract $qarchive $qafile");
2533+ &croak ("extract failed", "link destination of $afile not found")
2534+ if (!defined $linkdest || $linkdest eq '');
2535+ return $linkdest;
2536+}
2537+
2538+# List files in the archive.
2539+# Because mc currently doesn't allow a file's parent directory
2540+# to be listed after the file itself, we need to do some
2541+# rearranging of the output. Most of this is done in
2542+# checked_print_file.
2543+sub mczipfs_list {
2544+ open (PIPE, "$cmd_list $qarchive |") || &croak("$app_unzip failed");
2545+ if ($op_has_zipinfo) {
2546+ while (<PIPE>) {
2547+ chomp;
2548+ next if /^Archive:/;
2549+ next if /^\d+ file/;
2550+ next if /^Empty zipfile\.$/;
2551+ my @match = /$regex_zipinfo_line/;
2552+ next if ($#match != 13);
2553+ &checked_print_file(@match);
2554+ }
2555+ } else {
2556+ while (<PIPE>) {
2557+ chomp;
2558+ my @match = /$regex_nonzipinfo_line/;
2559+ next if ($#match != 10);
2560+ my @rmatch = ('', '', 'unknown', $match[0], '', $match[2], $match[1],
2561+ $match[6] > 100 ? $match[6] : $match[6] + ($match[6] < 70 ? 2000 : 1900), $match[4], $match[5],
2562+ $match[7], $match[8], "00", $match[10]);
2563+ &checked_print_file(@rmatch);
2564+ }
2565+ }
2566+ if (!close (PIPE)) {
2567+ &croak("$app_unzip failed") if ($! != 0);
2568+ &croak("$app_unzip failed", 'non-zero exit status ('.($? >> 8).')')
2569+ }
2570+
2571+ foreach my $key (sort keys %pending) {
2572+ foreach my $file (@{ $pending{$key} }) {
2573+ &print_file(@{ $file });
2574+ }
2575+ }
2576+
2577+ exit;
2578+}
2579+
2580+# Execute a file in the archive, by first extracting it to a
2581+# temporary directory. The name of the extracted file will be
2582+# the same as the name of it in the archive.
2583+sub mczipfs_run {
2584+ my ($afile) = @_;
2585+ &checkargs(1, 'archive file', @_);
2586+ my $qafile = &zipquotemeta(zipfs_realpathname($afile));
2587+ my $tmpdir = &mktmpdir();
2588+ my $tmpfile = File::Basename::basename($afile);
2589+
2590+ chdir $tmpdir || &croak("chdir $tmpdir failed");
2591+ &safesystem("$cmd_extract $aqarchive $qafile > $tmpfile");
2592+ chmod 0700, $tmpfile;
2593+ &safesystem("./$tmpfile");
2594+ unlink $tmpfile || &croak("rm $tmpfile failed");
2595+ chdir $oldpwd || &croak("chdir $oldpwd failed");
2596+ rmdir $tmpdir || &croak("rmdir $tmpdir failed");
2597+ exit;
2598+}
2599+
2600+# This is called prior to printing the listing of a file.
2601+# A check is done to see if the parent directory of the file has already
2602+# been printed or not. If it hasn't, we must cache it (in %pending) and
2603+# print it later once the parent directory has been listed. When all
2604+# files have been processed, there may still be some that haven't been
2605+# printed because their parent directories weren't listed at all. These
2606+# files are dealt with in mczipfs_list.
2607+sub checked_print_file {
2608+ my @waiting = ([ @_ ]);
2609+
2610+ while ($#waiting != -1) {
2611+ my $item = shift @waiting;
2612+ my $filename = ${$item}[13];
2613+ my $dirname = File::Basename::dirname($filename) . '/';
2614+
2615+ if (exists $known{$dirname}) {
2616+ &print_file(@{$item});
2617+ if ($filename =~ /\/$/) {
2618+ $known{$filename} = 1;
2619+ if (exists $pending{$filename}) {
2620+ push @waiting, @{ $pending{$filename} };
2621+ delete $pending{$filename};
2622+ }
2623+ }
2624+ } else {
2625+ push @{$pending{$dirname}}, $item;
2626+ }
2627+ }
2628+}
2629+
2630+# Print the mc extfs listing of a file from a set of parsed fields.
2631+# If the file is a link, we extract it from the zip archive and
2632+# include the output as the link destination. Because this output
2633+# is not newline terminated, we must execute unzip once for each
2634+# link file encountered.
2635+sub print_file {
2636+ my ($perms,$zipver,$platform,$realsize,$format,$cmpsize,$comp,$year,$mon,$day,$hours,$mins,$secs,$filename) = @_;
2637+ if ($platform ne 'unx') {
2638+ $perms = ($filename =~ /\/$/ ? 'drwxr-xr-x' : '-rw-r--r--');
2639+ }
2640+ printf "%-10s 1 %-8d %-8d %8s %s/%s/%s %s:%s:%s %s", $perms, $<,
2641+ $(, $realsize, $mon, $day, $year, $hours, $mins, $secs, $filename;
2642+ if ($platform eq 'unx' && $perms =~ /^l/) {
2643+ my $linkdest = &get_link_destination($filename);
2644+ print " -> $linkdest";
2645+ }
2646+ print "\n";
2647+}
2648+
2649+# Die with a reasonable error message.
2650+sub croak {
2651+ my ($command, $desc) = @_;
2652+ die "uzip ($cmd): $command - $desc\n" if (defined $desc);
2653+ die "uzip ($cmd): $command - $!\n";
2654+}
2655+
2656+# Make a set of directories, like the command `mkdir -p'.
2657+# This subroutine has been tailored for this script, and
2658+# because of that, it ignored the directory name '.'.
2659+sub mkdirs {
2660+ my ($dirs, $mode) = @_;
2661+ $dirs = &cleandirs($dirs);
2662+ return if ($dirs eq '.');
2663+
2664+ my $newpos = -1;
2665+ while (($newpos = index($dirs, '/', $newpos+1)) != -1) {
2666+ my $dir = substr($dirs, 0, $newpos);
2667+ mkdir ($dir, $mode) || &croak("mkdir $dir failed");
2668+ }
2669+ mkdir ($dirs, $mode) || &croak("mkdir $dirs failed");
2670+}
2671+
2672+# Remove a set of directories, failing if the directories
2673+# contain other files.
2674+# This subroutine has been tailored for this script, and
2675+# because of that, it ignored the directory name '.'.
2676+sub rmdirs {
2677+ my ($dirs) = @_;
2678+ $dirs = &cleandirs($dirs);
2679+ return if ($dirs eq '.');
2680+
2681+ rmdir $dirs || &croak("rmdir $dirs failed");
2682+ my $newpos = length($dirs);
2683+ while (($newpos = rindex($dirs, '/', $newpos-1)) != -1) {
2684+ my $dir = substr($dirs, 0, $newpos);
2685+ rmdir $dir || &croak("rmdir $dir failed");
2686+ }
2687+}
2688+
2689+# Return a semi-canonical directory name.
2690+sub cleandirs {
2691+ my ($dir) = @_;
2692+ $dir =~ s:/+:/:g;
2693+ $dir =~ s:/*$::;
2694+ return $dir;
2695+}
2696+
2697+# Make a temporary directory with mode 0700.
2698+sub mktmpdir {
2699+ use File::Temp qw(mkdtemp);
2700+ my $template = "/tmp/mcuzipfs.XXXXXX";
2701+ $template="$ENV{MC_TMPDIR}/mcuzipfs.XXXXXX" if ($ENV{MC_TMPDIR});
2702+ return mkdtemp($template);
2703+}
2704+
2705+# Make a filename absolute and return it.
2706+sub absolutize {
2707+ my ($file, $pwd) = @_;
2708+ return "$pwd/$file" if ($file !~ /^\//);
2709+ return $file;
2710+}
2711+
2712+# Like the system built-in function, but with error checking.
2713+# The other argument is an exit status to allow.
2714+sub safesystem {
2715+ my ($command, @allowrc) = @_;
2716+ my ($desc) = ($command =~ /^([^ ]*) */);
2717+ $desc = File::Basename::basename($desc);
2718+ system $command;
2719+ my $rc = $?;
2720+ &croak("`$desc' failed") if (($rc & 0xFF) != 0);
2721+ if ($rc != 0) {
2722+ $rc = $rc >> 8;
2723+ foreach my $arc (@allowrc) {
2724+ return if ($rc == $arc);
2725+ }
2726+ &croak("`$desc' failed", "non-zero exit status ($rc)");
2727+ }
2728+}
2729+
2730+# Like backticks built-in, but with error checking.
2731+sub safeticks {
2732+ my ($command, @allowrc) = @_;
2733+ my ($desc) = ($command =~ /^([^ ]*) /);
2734+ $desc = File::Basename::basename($desc);
2735+ my $out = `$command`;
2736+ my $rc = $?;
2737+ &croak("`$desc' failed") if (($rc & 0xFF) != 0);
2738+ if ($rc != 0) {
2739+ $rc = $rc >> 8;
2740+ foreach my $arc (@allowrc) {
2741+ return if ($rc == $arc);
2742+ }
2743+ &croak("`$desc' failed", "non-zero exit status ($rc)");
2744+ }
2745+ return $out;
2746+}
2747+
2748+# Make sure enough arguments are supplied, or die.
2749+sub checkargs {
2750+ my $count = shift;
2751+ my $desc = shift;
2752+ &croak('missing argument', $desc) if ($count-1 > $#_);
2753+}
2754+
2755+# Quote zip wildcard metacharacters. Unfortunately Info-ZIP zip and unzip
2756+# on unix interpret some wildcards in filenames, despite the fact that
2757+# the shell already does this. Thus this function.
2758+sub zipquotemeta {
2759+ my ($name) = @_;
2760+ my $out = '';
2761+ for (my $c = 0; $c < length $name; $c++) {
2762+ my $ch = substr($name, $c, 1);
2763+ $out .= '\\' if (index('*?[]\\', $ch) != -1);
2764+ $out .= $ch;
2765+ }
2766+ return quotemeta($out);
2767+}
2768
2769=== added directory '.pc/10_use_default_images_viewer.patch'
2770=== added directory '.pc/10_use_default_images_viewer.patch/misc'
2771=== added file '.pc/10_use_default_images_viewer.patch/misc/mc.ext.in'
2772--- .pc/10_use_default_images_viewer.patch/misc/mc.ext.in 1970-01-01 00:00:00 +0000
2773+++ .pc/10_use_default_images_viewer.patch/misc/mc.ext.in 2012-03-10 15:32:17 +0000
2774@@ -0,0 +1,684 @@
2775+# Midnight Commander 3.0 extension file
2776+# Warning: Structure of this file has changed completely with version 3.0
2777+#
2778+# All lines starting with # or empty lines are thrown away.
2779+# Lines starting in the first column should have following format:
2780+#
2781+# keyword/descNL, i.e. everything after keyword/ until new line is desc
2782+#
2783+# keyword can be:
2784+#
2785+# shell (desc is, when starting with a dot, any extension (no wildcars),
2786+# i.e. matches all the files *desc . Example: .tar matches *.tar;
2787+# if it doesn't start with a dot, it matches only a file of that name)
2788+#
2789+# regex (desc is an extended regular expression)
2790+# Please note that we are using the GNU regex library and thus
2791+# \| matches the literal | and | has special meaning (or) and
2792+# () have special meaning and \( \) stand for literal ( ).
2793+#
2794+# type (file matches this if `file %f` matches regular expression desc
2795+# (the filename: part from `file %f` is removed))
2796+#
2797+# directory (matches any directory matching regular expression desc)
2798+#
2799+# include (matches an include directive)
2800+#
2801+# default (matches any file no matter what desc is)
2802+#
2803+# Other lines should start with a space or tab and should be in the format:
2804+#
2805+# keyword=commandNL (with no spaces around =), where keyword should be:
2806+#
2807+# Open (if the user presses Enter or doubleclicks it),
2808+#
2809+# View (F3), Edit (F4)
2810+#
2811+# Include is the keyword used to add any further entries from an include/
2812+# section
2813+#
2814+# command is any one-line shell command, with the following substitutions:
2815+#
2816+# %% -> % character
2817+# %p -> name of the current file (without path, but pwd is its path)
2818+# %f -> name of the current file. Unlike %p, if file is located on a
2819+# non-local virtual filesystem, i.e. either tarfs or ftpfs,
2820+# then the file will be temporarily copied into a local directory
2821+# and %f will be the full path to this local temporal file.
2822+# If you don't want to get a local copy and want to get the
2823+# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
2824+# use %d/%p instead of %f.
2825+# %d -> name of the current directory (pwd, without trailing slash)
2826+# %s -> "selected files", i.e. space separated list of tagged files if any
2827+# or name of the current file
2828+# %t -> list of tagged files
2829+# %u -> list of tagged files (they'll be untaged after the command)
2830+#
2831+# (If these 6 letters are in uppercase, they refer to the other panel.
2832+# But you shouldn't have to use it in this file.)
2833+#
2834+#
2835+# %cd -> the rest is a path mc should change into (cd won't work, since it's
2836+# a child process). %cd handles even vfs names.
2837+#
2838+# %view -> the command you type will be piped into mc's internal file viewer
2839+# if you type only the %view and no command, viewer will load %f file
2840+# instead (i.e. no piping, so it is different to %view cat %f)
2841+# %view may be directly followed by {} with a list of any of
2842+# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
2843+# text using backspace for bold and underscore) and unform
2844+# (no highlighting for nroff sequences) separated by commas.
2845+#
2846+# %var -> You use it like this: %var{VAR:default}. This macro will expand
2847+# to the value of the VAR variable in the environment if it's set
2848+# otherwise the value in default will be used. This is similar to
2849+# the Bourne shell ${VAR-default} construct.
2850+#
2851+# Rules are applied from top to bottom, thus the order is important.
2852+# If some actions are missing, search continues as if this target didn't
2853+# match (i.e. if a file matches the first and second entry and View action
2854+# is missing in the first one, then on pressing F3 the View action from
2855+# the second entry will be used. default should catch all the actions.
2856+#
2857+# Any new entries you develop for you are always welcome if they are
2858+# useful on more than one system. You can post your modifications
2859+# as tickets at www.midnight-commander.org
2860+
2861+
2862+### Changes ###
2863+#
2864+# Reorganization: 2000-05-01 Michal Svec <rebel@penguin.cz>
2865+
2866+
2867+### TODO ###
2868+#
2869+# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something]
2870+# Images asciiview
2871+#
2872+# All X Apps [Nothing/Warning] if no DISPLAY
2873+# Not found [Default/Warning]
2874+# Empty Output [Default/Warning]
2875+# Edit: CopyOut+EDIT+CopyIn
2876+# Security Check gzip/bzip EDIT (mktemp)
2877+#
2878+# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
2879+
2880+
2881+### GIT Repo ###
2882+# gitfs changeset
2883+regex/^\[git\]
2884+ Open=%cd %p/changesetfs://
2885+ View=%cd %p/patchsetfs://
2886+
2887+### Archives ###
2888+
2889+# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
2890+regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk|\.gem$
2891+ Open=%cd %p/utar://
2892+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
2893+
2894+regex/\.tar\.bz$
2895+ # Open=%cd %p/utar://
2896+ View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
2897+
2898+regex/\.t(ar\.bz2|bz2?|b2)$
2899+ Open=%cd %p/utar://
2900+ View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
2901+
2902+# .tar.lzma, .tlz
2903+regex/\.t(ar\.lzma|lz)$
2904+ Open=%cd %p/utar://
2905+ View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
2906+
2907+# .tar.xz, .txz
2908+regex/\.t(ar\.xz|xz)$
2909+ Open=%cd %p/utar://
2910+ View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
2911+
2912+# .tar.F - used in QNX
2913+regex/\.tar\.F$
2914+ # Open=%cd %p/utar://
2915+ View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
2916+
2917+# .qpr/.qpk - QNX Neutrino package installer files
2918+regex/\.(qp[rk])$
2919+ Open=%cd %p/utar://
2920+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
2921+
2922+# tar
2923+regex/\.(tar|TAR)$
2924+ Open=%cd %p/utar://
2925+ View=%view{ascii} tar tvvf - < %f
2926+
2927+# lha
2928+type/^LHa\ .*archive
2929+ Open=%cd %p/ulha://
2930+ View=%view{ascii} lha l %f
2931+
2932+# arj
2933+regex/\.a(rj|[0-9][0-9])$
2934+ Open=%cd %p/uarj://
2935+ View=%view{ascii} unarj l %f
2936+
2937+# cab
2938+regex/\.([cC][aA][bB])$
2939+ Open=%cd %p/ucab://
2940+ View=%view{ascii} cabextract -l %f
2941+
2942+# ha
2943+regex/\.([Hh][Aa])$
2944+ Open=%cd %p/uha://
2945+ View=%view{ascii} ha lf %f
2946+
2947+# rar
2948+regex/\.[rR]([aA][rR]|[0-9][0-9])$
2949+ Open=%cd %p/urar://
2950+ View=%view{ascii} rar v -c- %f
2951+
2952+# ALZip
2953+regex/\.(alz|ALZ)$
2954+ Open=%cd %p/ualz://
2955+ View=%view{ascii} unalz -l %f
2956+
2957+# cpio
2958+shell/.cpio.Z
2959+ Open=%cd %p/ucpio://
2960+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
2961+
2962+shell/.cpio.gz
2963+ Open=%cd %p/ucpio://
2964+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
2965+
2966+shell/.cpio
2967+ Open=%cd %p/ucpio://
2968+ View=%view{ascii} cpio -itv < %f 2>/dev/null
2969+
2970+# ls-lR
2971+regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
2972+ Open=%cd %p/lslR://
2973+
2974+# patch
2975+regex/\.(diff|patch)(\.bz2)$
2976+ Open=%cd %p/patchfs://
2977+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
2978+
2979+regex/\.(diff|patch)(\.(gz|Z))$
2980+ Open=%cd %p/patchfs://
2981+ View=%view{ascii} gzip -dc %f 2>/dev/null
2982+
2983+regex/\.(diff|patch)$
2984+ Open=%cd %p/patchfs://
2985+ View=%view{ascii} /bin/cat %f 2>/dev/null
2986+
2987+# ar library
2988+regex/\.s?a$
2989+ Open=%cd %p/uar://
2990+ #Open=%view{ascii} ar tv %f
2991+ View=%view{ascii} file %f && nm -C %f
2992+
2993+# trpm
2994+regex/\.trpm$
2995+ Open=%cd %p/trpm://
2996+ View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
2997+
2998+# RPM packages (SuSE uses *.spm for source packages)
2999+regex/\.(src\.rpm|spm)$
3000+ Open=%cd %p/rpm://
3001+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
3002+
3003+regex/\.rpm$
3004+ Open=%cd %p/rpm://
3005+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
3006+
3007+# deb
3008+regex/\.u?deb$
3009+ Open=%cd %p/deb://
3010+ View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
3011+
3012+# dpkg
3013+shell/.debd
3014+ Open=%cd %p/debd://
3015+ View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
3016+# apt
3017+shell/.deba
3018+ Open=%cd %p/deba://
3019+ View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
3020+
3021+# ISO9660
3022+regex/\.([iI][sS][oO])$
3023+ Open=%cd %p/iso9660://
3024+ View=%view{ascii} isoinfo -l -i %f
3025+
3026+# 7zip archives (they are not man pages)
3027+regex/\.(7z|7Z)$
3028+ Open=%cd %p/u7z://
3029+ View=%view{ascii} 7za l %f 2>/dev/null
3030+
3031+# Mailboxes
3032+type/^ASCII\ mail\ text
3033+ Open=%cd %p/mailfs://
3034+
3035+
3036+### Sources ###
3037+
3038+# C
3039+shell/.c
3040+ Include=editor
3041+
3042+# Fortran
3043+shell/.f
3044+ Include=editor
3045+
3046+# Header
3047+regex/\.(h|hpp)$
3048+ Include=editor
3049+
3050+# Asm
3051+shell/.s
3052+ Include=editor
3053+
3054+# C++
3055+regex/\.(C|cc|cpp)$
3056+ Include=editor
3057+
3058+include/editor
3059+ Open=%var{EDITOR:vi} %f
3060+
3061+# .so libraries
3062+regex/\.(so|so\.[0-9\.]*)$
3063+ View=%view{ascii} file %f && nm -C -D %f
3064+
3065+# Object
3066+type/^ELF
3067+ #Open=%var{PAGER:more} %f
3068+ View=%view{ascii} file %f && nm -C %f
3069+
3070+### Documentation ###
3071+
3072+# Texinfo
3073+regex/\.(te?xi|texinfo)$
3074+
3075+# GNU Info page
3076+type/^Info\ text
3077+ Open=info -f %f
3078+
3079+shell/.info
3080+ Open=info -f %f
3081+
3082+# Exception: .3gp are video files not manual pages
3083+regex/\.(3[gG][pP])$
3084+ Include=video
3085+
3086+# Manual page
3087+regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
3088+ Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3089+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3090+
3091+# Perl pod page
3092+shell/.pod
3093+ Open=pod2man %f | nroff @MAN_FLAGS@ @MANDOC@ | %var{PAGER:more}
3094+ View=%view{ascii,nroff} pod2man %f | nroff @MAN_FLAGS@ @MANDOC@
3095+
3096+# Troff with me macros.
3097+# Exception - "read.me" is not a nroff file.
3098+shell/read.me
3099+ Open=
3100+ View=
3101+
3102+shell/.me
3103+ Open=nroff @MAN_FLAGS@ -me %f | %var{PAGER:more}
3104+ View=%view{ascii,nroff} nroff @MAN_FLAGS@ -me %f
3105+
3106+# Troff with ms macros.
3107+shell/.ms
3108+ Open=nroff @MAN_FLAGS@ -ms %f | %var{PAGER:more}
3109+ View=%view{ascii,nroff} nroff @MAN_FLAGS@ -ms %f
3110+
3111+# Manual page - compressed
3112+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
3113+ Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3114+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3115+
3116+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
3117+ Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3118+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3119+
3120+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
3121+ Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3122+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3123+
3124+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
3125+ Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3126+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3127+
3128+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
3129+ Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3130+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3131+
3132+# CHM
3133+regex/\.(chm|CHM)$
3134+ Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
3135+
3136+### Images ###
3137+
3138+type/^GIF
3139+ Include=image
3140+
3141+type/^JPEG
3142+ View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
3143+ Include=image
3144+
3145+type/^PC\ bitmap
3146+ Include=image
3147+
3148+type/^PNG
3149+ Include=image
3150+
3151+type/^TIFF
3152+ Include=image
3153+
3154+type/^PBM
3155+ Include=image
3156+
3157+type/^PGM
3158+ Include=image
3159+
3160+type/^PPM
3161+ Include=image
3162+
3163+type/^Netpbm
3164+ Include=image
3165+
3166+shell/.xcf
3167+ Open=(gimp %f &)
3168+
3169+shell/.xbm
3170+ Open=bitmap %f
3171+
3172+shell/.xpm
3173+ Include=image
3174+ View=sxpm %f
3175+
3176+shell/.ico
3177+ Include=image
3178+
3179+include/image
3180+ Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (gqview %f &); fi
3181+ View=%view{ascii} identify %f
3182+ #View=%view{ascii} asciiview %f
3183+
3184+
3185+### Sound files ###
3186+
3187+regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
3188+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
3189+
3190+regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
3191+ Open=mikmod %f
3192+ #Open=tracker %f
3193+
3194+regex/\.([wW][aA][wW]22)$
3195+ Open=vplay -s 22 %f
3196+
3197+regex/\.([mM][pP]3)$
3198+ Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
3199+ View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
3200+
3201+regex/\.([oO][gG][gG|aA|vV|xX])$
3202+ Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
3203+ View=%view{ascii} ogginfo %s
3204+
3205+regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
3206+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
3207+
3208+regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
3209+ Open=timidity %f
3210+
3211+regex/\.([wW][mM][aA])$
3212+ Open=mplayer -vo null %f
3213+ View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
3214+
3215+
3216+### Play lists ###
3217+
3218+regex/\.([mM]3[uU]|[pP][lL][sS])$
3219+ Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi
3220+
3221+
3222+### Video ###
3223+
3224+regex/\.([aA][vV][iI])$
3225+ Include=video
3226+
3227+regex/\.([aA][sS][fFxX])$
3228+ Include=video
3229+
3230+regex/\.([dD][iI][vV][xX])$
3231+ Include=video
3232+
3233+regex/\.([mM][kK][vV])$
3234+ Include=video
3235+
3236+regex/\.([mM][oO][vV]|[qQ][tT])$
3237+ Include=video
3238+
3239+regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
3240+ Include=video
3241+
3242+# MPEG-2 TS container + H.264 codec
3243+regex/\.([mM][tT][sS])$
3244+ Include=video
3245+
3246+regex/\.([vV][oO][bB])$
3247+ Include=video
3248+
3249+regex/\.([wW][mM][vV])$
3250+ Include=video
3251+
3252+regex/\.([fF][lL][iIcCvV])$
3253+ Include=video
3254+
3255+regex/\.([oO][gG][mM])$
3256+ Include=video
3257+
3258+regex/\.([rR][aA]?[mM])$
3259+ Open=(realplay %f >/dev/null 2>&1 &)
3260+
3261+include/video
3262+ Open=(mplayer %f >/dev/null 2>&1 &)
3263+ #Open=(gtv %f >/dev/null 2>&1 &)
3264+ #Open=(xanim %f >/dev/null 2>&1 &)
3265+
3266+
3267+### Documents ###
3268+
3269+# Postscript
3270+type/^PostScript
3271+ Open=(gv %f &)
3272+ View=%view{ascii} ps2ascii %f
3273+
3274+# PDF
3275+type/^PDF
3276+ Open=(see %f &)
3277+ #Open=(acroread %f &)
3278+ #Open=(ghostview %f &)
3279+ View=%view{ascii} pdftotext %f -
3280+
3281+# The following code very ugly and should not be taken as example.
3282+# It should be cleaned up when the new format of mc.ext is developed.
3283+
3284+# html
3285+regex/\.([hH][tT][mM][lL]?)$
3286+ Open=(if test -n "@X11_WWW@" && test -n "$DISPLAY"; then (@X11_WWW@ file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
3287+ View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
3288+
3289+# StarOffice 5.2
3290+shell/.sdw
3291+ Open=(ooffice %f &)
3292+
3293+# StarOffice 6 and OpenOffice.org formats
3294+regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
3295+ Open=(ooffice %f &)
3296+ View=%view{ascii} odt2txt %f
3297+
3298+# AbiWord
3299+shell/.abw
3300+ Open=(abiword %f &)
3301+
3302+# Microsoft Word Document
3303+regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
3304+ Open=(abiword %f >/dev/null 2>&1 &)
3305+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
3306+type/^Microsoft\ Word
3307+ Open=(abiword %f >/dev/null 2>&1 &)
3308+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
3309+
3310+# RTF document
3311+regex/\.([rR][tT][fF])$
3312+ Open=(abiword %f >/dev/null 2>&1 &)
3313+
3314+# Microsoft Excel Worksheet
3315+regex/\.([xX][lL][sSwW])$
3316+ Open=(gnumeric %f >/dev/null 2>&1 &)
3317+ View=%view{ascii} xls2csv %f || strings %f
3318+type/^Microsoft\ Excel
3319+ Open=(gnumeric %f >/dev/null 2>&1 &)
3320+ View=%view{ascii} xls2csv %f || strings %f
3321+
3322+# Use OpenOffice.org to open any MS Office documents
3323+type/^Microsoft\ Office\ Document
3324+ Open=(ooffice %f &)
3325+
3326+# Framemaker
3327+type/^FrameMaker
3328+ Open=fmclient -f %f
3329+
3330+# DVI
3331+regex/\.([dD][vV][iI])$
3332+ Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi
3333+ View=%view{ascii} dvi2tty %f
3334+
3335+# TeX
3336+regex/\.([Tt][Ee][Xx])$
3337+ Include=editor
3338+
3339+# DjVu
3340+regex/\.(djvu|DJVU)$
3341+ Open=djview %f &
3342+
3343+### Miscellaneous ###
3344+
3345+# Makefile
3346+regex/[Mm]akefile$
3347+ Open=make -f %f %{Enter parameters}
3348+
3349+# Imakefile
3350+shell/Imakefile
3351+ Open=xmkmf -a
3352+
3353+# Makefile.PL (MakeMaker)
3354+regex/^Makefile.(PL|pl)$
3355+ Open=%var{PERL:perl} %f
3356+
3357+# dbf
3358+regex/\.([dD][bB][fF])$
3359+ Open=%view{ascii} dbview %f
3360+ View=%view{ascii} dbview -b %f
3361+
3362+# REXX script
3363+regex/\.(rexx?|cmd)$
3364+ Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
3365+
3366+# Disk images for Commodore computers (VIC20, C64, C128)
3367+regex/\.(d64|D64)$
3368+ Open=%cd %p/uc1541://
3369+ View=%view{ascii} c1541 %f -list
3370+ Extract=c1541 %f -extract
3371+
3372+# Glade, a user interface designer for GTK+ and GNOME
3373+regex/\.([Gg][Ll][Aa][Dd][Ee])$
3374+ Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
3375+
3376+# Gettext Catalogs
3377+shell/.mo
3378+ View=%view{ascii} msgunfmt %f || cat %f
3379+
3380+# lyx
3381+regex/\.(lyx|LYX)$
3382+ Open=lyx %f
3383+ View=%view{ascii} lyxcat %f
3384+
3385+# torrent
3386+regex/\.([tT][oO][rR][rR][eE][nN][tT])$
3387+ View=%view{ascii} ctorrent -x %f 2>/dev/null
3388+
3389+### Plain compressed files ###
3390+
3391+# ace
3392+regex/\.(ace|ACE)$
3393+ Open=%cd %p/uace://
3394+ View=%view{ascii} unace l %f
3395+ Extract=unace x %f
3396+
3397+# arc
3398+regex/\.(arc|ARC)$
3399+ Open=%cd %p/uarc://
3400+ View=%view{ascii} arc l %f
3401+ Extract=arc x %f '*'
3402+ Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
3403+
3404+# zip
3405+type/^([Zz][Ii][Pp])\ archive
3406+ Open=%cd %p/uzip://
3407+ View=%view{ascii} unzip -v %f
3408+
3409+# zoo
3410+regex/\.([Zz][Oo][Oo])$
3411+ Open=%cd %p/uzoo://
3412+ View=%view{ascii} zoo l %f
3413+
3414+# gzip
3415+type/^gzip
3416+ Open=gzip -dc %f | %var{PAGER:more}
3417+ View=%view{ascii} gzip -dc %f 2>/dev/null
3418+
3419+regex/\.(gz|Z)$
3420+ View=%view{ascii} gzip -dc %f 2>/dev/null
3421+
3422+# bzip2
3423+type/^bzip2
3424+ Open=bzip2 -dc %f | %var{PAGER:more}
3425+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
3426+
3427+regex/\.bz2?$
3428+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
3429+
3430+# bzip
3431+type/^bzip
3432+ Open=bzip -dc %f | %var{PAGER:more}
3433+ View=%view{ascii} bzip -dc %f 2>/dev/null
3434+
3435+# compress
3436+type/^compress
3437+ Open=gzip -dc %f | %var{PAGER:more}
3438+ View=%view{ascii} gzip -dc %f 2>/dev/null
3439+
3440+# lzma
3441+regex/\.lzma$
3442+ Open=lzma -dc %f | %var{PAGER:more}
3443+ View=%view{ascii} lzma -dc %f 2>/dev/null
3444+
3445+# xz
3446+regex/\.xz$
3447+ Open=xz -dc %f | %var{PAGER:more}
3448+ View=%view{ascii} xz -dc %f 2>/dev/null
3449+
3450+### Default ###
3451+
3452+# Default target for anything not described above
3453+default/*
3454+ Open=
3455+ View=
3456+
3457+
3458+### EOF ###
3459
3460=== added directory '.pc/84_use_dvicat_instead_of_dvi2tty.patch'
3461=== added directory '.pc/84_use_dvicat_instead_of_dvi2tty.patch/misc'
3462=== added file '.pc/84_use_dvicat_instead_of_dvi2tty.patch/misc/mc.ext.in'
3463--- .pc/84_use_dvicat_instead_of_dvi2tty.patch/misc/mc.ext.in 1970-01-01 00:00:00 +0000
3464+++ .pc/84_use_dvicat_instead_of_dvi2tty.patch/misc/mc.ext.in 2012-03-10 15:32:17 +0000
3465@@ -0,0 +1,684 @@
3466+# Midnight Commander 3.0 extension file
3467+# Warning: Structure of this file has changed completely with version 3.0
3468+#
3469+# All lines starting with # or empty lines are thrown away.
3470+# Lines starting in the first column should have following format:
3471+#
3472+# keyword/descNL, i.e. everything after keyword/ until new line is desc
3473+#
3474+# keyword can be:
3475+#
3476+# shell (desc is, when starting with a dot, any extension (no wildcars),
3477+# i.e. matches all the files *desc . Example: .tar matches *.tar;
3478+# if it doesn't start with a dot, it matches only a file of that name)
3479+#
3480+# regex (desc is an extended regular expression)
3481+# Please note that we are using the GNU regex library and thus
3482+# \| matches the literal | and | has special meaning (or) and
3483+# () have special meaning and \( \) stand for literal ( ).
3484+#
3485+# type (file matches this if `file %f` matches regular expression desc
3486+# (the filename: part from `file %f` is removed))
3487+#
3488+# directory (matches any directory matching regular expression desc)
3489+#
3490+# include (matches an include directive)
3491+#
3492+# default (matches any file no matter what desc is)
3493+#
3494+# Other lines should start with a space or tab and should be in the format:
3495+#
3496+# keyword=commandNL (with no spaces around =), where keyword should be:
3497+#
3498+# Open (if the user presses Enter or doubleclicks it),
3499+#
3500+# View (F3), Edit (F4)
3501+#
3502+# Include is the keyword used to add any further entries from an include/
3503+# section
3504+#
3505+# command is any one-line shell command, with the following substitutions:
3506+#
3507+# %% -> % character
3508+# %p -> name of the current file (without path, but pwd is its path)
3509+# %f -> name of the current file. Unlike %p, if file is located on a
3510+# non-local virtual filesystem, i.e. either tarfs or ftpfs,
3511+# then the file will be temporarily copied into a local directory
3512+# and %f will be the full path to this local temporal file.
3513+# If you don't want to get a local copy and want to get the
3514+# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
3515+# use %d/%p instead of %f.
3516+# %d -> name of the current directory (pwd, without trailing slash)
3517+# %s -> "selected files", i.e. space separated list of tagged files if any
3518+# or name of the current file
3519+# %t -> list of tagged files
3520+# %u -> list of tagged files (they'll be untaged after the command)
3521+#
3522+# (If these 6 letters are in uppercase, they refer to the other panel.
3523+# But you shouldn't have to use it in this file.)
3524+#
3525+#
3526+# %cd -> the rest is a path mc should change into (cd won't work, since it's
3527+# a child process). %cd handles even vfs names.
3528+#
3529+# %view -> the command you type will be piped into mc's internal file viewer
3530+# if you type only the %view and no command, viewer will load %f file
3531+# instead (i.e. no piping, so it is different to %view cat %f)
3532+# %view may be directly followed by {} with a list of any of
3533+# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
3534+# text using backspace for bold and underscore) and unform
3535+# (no highlighting for nroff sequences) separated by commas.
3536+#
3537+# %var -> You use it like this: %var{VAR:default}. This macro will expand
3538+# to the value of the VAR variable in the environment if it's set
3539+# otherwise the value in default will be used. This is similar to
3540+# the Bourne shell ${VAR-default} construct.
3541+#
3542+# Rules are applied from top to bottom, thus the order is important.
3543+# If some actions are missing, search continues as if this target didn't
3544+# match (i.e. if a file matches the first and second entry and View action
3545+# is missing in the first one, then on pressing F3 the View action from
3546+# the second entry will be used. default should catch all the actions.
3547+#
3548+# Any new entries you develop for you are always welcome if they are
3549+# useful on more than one system. You can post your modifications
3550+# as tickets at www.midnight-commander.org
3551+
3552+
3553+### Changes ###
3554+#
3555+# Reorganization: 2000-05-01 Michal Svec <rebel@penguin.cz>
3556+
3557+
3558+### TODO ###
3559+#
3560+# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something]
3561+# Images asciiview
3562+#
3563+# All X Apps [Nothing/Warning] if no DISPLAY
3564+# Not found [Default/Warning]
3565+# Empty Output [Default/Warning]
3566+# Edit: CopyOut+EDIT+CopyIn
3567+# Security Check gzip/bzip EDIT (mktemp)
3568+#
3569+# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
3570+
3571+
3572+### GIT Repo ###
3573+# gitfs changeset
3574+regex/^\[git\]
3575+ Open=%cd %p/changesetfs://
3576+ View=%cd %p/patchsetfs://
3577+
3578+### Archives ###
3579+
3580+# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
3581+regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk|\.gem$
3582+ Open=%cd %p/utar://
3583+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
3584+
3585+regex/\.tar\.bz$
3586+ # Open=%cd %p/utar://
3587+ View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
3588+
3589+regex/\.t(ar\.bz2|bz2?|b2)$
3590+ Open=%cd %p/utar://
3591+ View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
3592+
3593+# .tar.lzma, .tlz
3594+regex/\.t(ar\.lzma|lz)$
3595+ Open=%cd %p/utar://
3596+ View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
3597+
3598+# .tar.xz, .txz
3599+regex/\.t(ar\.xz|xz)$
3600+ Open=%cd %p/utar://
3601+ View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
3602+
3603+# .tar.F - used in QNX
3604+regex/\.tar\.F$
3605+ # Open=%cd %p/utar://
3606+ View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
3607+
3608+# .qpr/.qpk - QNX Neutrino package installer files
3609+regex/\.(qp[rk])$
3610+ Open=%cd %p/utar://
3611+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
3612+
3613+# tar
3614+regex/\.(tar|TAR)$
3615+ Open=%cd %p/utar://
3616+ View=%view{ascii} tar tvvf - < %f
3617+
3618+# lha
3619+type/^LHa\ .*archive
3620+ Open=%cd %p/ulha://
3621+ View=%view{ascii} lha l %f
3622+
3623+# arj
3624+regex/\.a(rj|[0-9][0-9])$
3625+ Open=%cd %p/uarj://
3626+ View=%view{ascii} unarj l %f
3627+
3628+# cab
3629+regex/\.([cC][aA][bB])$
3630+ Open=%cd %p/ucab://
3631+ View=%view{ascii} cabextract -l %f
3632+
3633+# ha
3634+regex/\.([Hh][Aa])$
3635+ Open=%cd %p/uha://
3636+ View=%view{ascii} ha lf %f
3637+
3638+# rar
3639+regex/\.[rR]([aA][rR]|[0-9][0-9])$
3640+ Open=%cd %p/urar://
3641+ View=%view{ascii} rar v -c- %f
3642+
3643+# ALZip
3644+regex/\.(alz|ALZ)$
3645+ Open=%cd %p/ualz://
3646+ View=%view{ascii} unalz -l %f
3647+
3648+# cpio
3649+shell/.cpio.Z
3650+ Open=%cd %p/ucpio://
3651+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
3652+
3653+shell/.cpio.gz
3654+ Open=%cd %p/ucpio://
3655+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
3656+
3657+shell/.cpio
3658+ Open=%cd %p/ucpio://
3659+ View=%view{ascii} cpio -itv < %f 2>/dev/null
3660+
3661+# ls-lR
3662+regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
3663+ Open=%cd %p/lslR://
3664+
3665+# patch
3666+regex/\.(diff|patch)(\.bz2)$
3667+ Open=%cd %p/patchfs://
3668+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
3669+
3670+regex/\.(diff|patch)(\.(gz|Z))$
3671+ Open=%cd %p/patchfs://
3672+ View=%view{ascii} gzip -dc %f 2>/dev/null
3673+
3674+regex/\.(diff|patch)$
3675+ Open=%cd %p/patchfs://
3676+ View=%view{ascii} /bin/cat %f 2>/dev/null
3677+
3678+# ar library
3679+regex/\.s?a$
3680+ Open=%cd %p/uar://
3681+ #Open=%view{ascii} ar tv %f
3682+ View=%view{ascii} file %f && nm -C %f
3683+
3684+# trpm
3685+regex/\.trpm$
3686+ Open=%cd %p/trpm://
3687+ View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
3688+
3689+# RPM packages (SuSE uses *.spm for source packages)
3690+regex/\.(src\.rpm|spm)$
3691+ Open=%cd %p/rpm://
3692+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
3693+
3694+regex/\.rpm$
3695+ Open=%cd %p/rpm://
3696+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
3697+
3698+# deb
3699+regex/\.u?deb$
3700+ Open=%cd %p/deb://
3701+ View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
3702+
3703+# dpkg
3704+shell/.debd
3705+ Open=%cd %p/debd://
3706+ View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
3707+# apt
3708+shell/.deba
3709+ Open=%cd %p/deba://
3710+ View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
3711+
3712+# ISO9660
3713+regex/\.([iI][sS][oO])$
3714+ Open=%cd %p/iso9660://
3715+ View=%view{ascii} isoinfo -l -i %f
3716+
3717+# 7zip archives (they are not man pages)
3718+regex/\.(7z|7Z)$
3719+ Open=%cd %p/u7z://
3720+ View=%view{ascii} 7za l %f 2>/dev/null
3721+
3722+# Mailboxes
3723+type/^ASCII\ mail\ text
3724+ Open=%cd %p/mailfs://
3725+
3726+
3727+### Sources ###
3728+
3729+# C
3730+shell/.c
3731+ Include=editor
3732+
3733+# Fortran
3734+shell/.f
3735+ Include=editor
3736+
3737+# Header
3738+regex/\.(h|hpp)$
3739+ Include=editor
3740+
3741+# Asm
3742+shell/.s
3743+ Include=editor
3744+
3745+# C++
3746+regex/\.(C|cc|cpp)$
3747+ Include=editor
3748+
3749+include/editor
3750+ Open=%var{EDITOR:vi} %f
3751+
3752+# .so libraries
3753+regex/\.(so|so\.[0-9\.]*)$
3754+ View=%view{ascii} file %f && nm -C -D %f
3755+
3756+# Object
3757+type/^ELF
3758+ #Open=%var{PAGER:more} %f
3759+ View=%view{ascii} file %f && nm -C %f
3760+
3761+### Documentation ###
3762+
3763+# Texinfo
3764+regex/\.(te?xi|texinfo)$
3765+
3766+# GNU Info page
3767+type/^Info\ text
3768+ Open=info -f %f
3769+
3770+shell/.info
3771+ Open=info -f %f
3772+
3773+# Exception: .3gp are video files not manual pages
3774+regex/\.(3[gG][pP])$
3775+ Include=video
3776+
3777+# Manual page
3778+regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
3779+ Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3780+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3781+
3782+# Perl pod page
3783+shell/.pod
3784+ Open=pod2man %f | nroff @MAN_FLAGS@ @MANDOC@ | %var{PAGER:more}
3785+ View=%view{ascii,nroff} pod2man %f | nroff @MAN_FLAGS@ @MANDOC@
3786+
3787+# Troff with me macros.
3788+# Exception - "read.me" is not a nroff file.
3789+shell/read.me
3790+ Open=
3791+ View=
3792+
3793+shell/.me
3794+ Open=nroff @MAN_FLAGS@ -me %f | %var{PAGER:more}
3795+ View=%view{ascii,nroff} nroff @MAN_FLAGS@ -me %f
3796+
3797+# Troff with ms macros.
3798+shell/.ms
3799+ Open=nroff @MAN_FLAGS@ -ms %f | %var{PAGER:more}
3800+ View=%view{ascii,nroff} nroff @MAN_FLAGS@ -ms %f
3801+
3802+# Manual page - compressed
3803+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
3804+ Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3805+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3806+
3807+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
3808+ Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3809+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3810+
3811+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
3812+ Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3813+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3814+
3815+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
3816+ Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3817+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3818+
3819+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
3820+ Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
3821+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
3822+
3823+# CHM
3824+regex/\.(chm|CHM)$
3825+ Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
3826+
3827+### Images ###
3828+
3829+type/^GIF
3830+ Include=image
3831+
3832+type/^JPEG
3833+ View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
3834+ Include=image
3835+
3836+type/^PC\ bitmap
3837+ Include=image
3838+
3839+type/^PNG
3840+ Include=image
3841+
3842+type/^TIFF
3843+ Include=image
3844+
3845+type/^PBM
3846+ Include=image
3847+
3848+type/^PGM
3849+ Include=image
3850+
3851+type/^PPM
3852+ Include=image
3853+
3854+type/^Netpbm
3855+ Include=image
3856+
3857+shell/.xcf
3858+ Open=(gimp %f &)
3859+
3860+shell/.xbm
3861+ Open=bitmap %f
3862+
3863+shell/.xpm
3864+ Include=image
3865+ View=sxpm %f
3866+
3867+shell/.ico
3868+ Include=image
3869+
3870+include/image
3871+ Open=(see %f &)
3872+ View=%view{ascii} identify %f
3873+ #View=%view{ascii} asciiview %f
3874+
3875+
3876+### Sound files ###
3877+
3878+regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
3879+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
3880+
3881+regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
3882+ Open=mikmod %f
3883+ #Open=tracker %f
3884+
3885+regex/\.([wW][aA][wW]22)$
3886+ Open=vplay -s 22 %f
3887+
3888+regex/\.([mM][pP]3)$
3889+ Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
3890+ View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
3891+
3892+regex/\.([oO][gG][gG|aA|vV|xX])$
3893+ Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
3894+ View=%view{ascii} ogginfo %s
3895+
3896+regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
3897+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
3898+
3899+regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
3900+ Open=timidity %f
3901+
3902+regex/\.([wW][mM][aA])$
3903+ Open=mplayer -vo null %f
3904+ View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
3905+
3906+
3907+### Play lists ###
3908+
3909+regex/\.([mM]3[uU]|[pP][lL][sS])$
3910+ Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi
3911+
3912+
3913+### Video ###
3914+
3915+regex/\.([aA][vV][iI])$
3916+ Include=video
3917+
3918+regex/\.([aA][sS][fFxX])$
3919+ Include=video
3920+
3921+regex/\.([dD][iI][vV][xX])$
3922+ Include=video
3923+
3924+regex/\.([mM][kK][vV])$
3925+ Include=video
3926+
3927+regex/\.([mM][oO][vV]|[qQ][tT])$
3928+ Include=video
3929+
3930+regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
3931+ Include=video
3932+
3933+# MPEG-2 TS container + H.264 codec
3934+regex/\.([mM][tT][sS])$
3935+ Include=video
3936+
3937+regex/\.([vV][oO][bB])$
3938+ Include=video
3939+
3940+regex/\.([wW][mM][vV])$
3941+ Include=video
3942+
3943+regex/\.([fF][lL][iIcCvV])$
3944+ Include=video
3945+
3946+regex/\.([oO][gG][mM])$
3947+ Include=video
3948+
3949+regex/\.([rR][aA]?[mM])$
3950+ Open=(realplay %f >/dev/null 2>&1 &)
3951+
3952+include/video
3953+ Open=(mplayer %f >/dev/null 2>&1 &)
3954+ #Open=(gtv %f >/dev/null 2>&1 &)
3955+ #Open=(xanim %f >/dev/null 2>&1 &)
3956+
3957+
3958+### Documents ###
3959+
3960+# Postscript
3961+type/^PostScript
3962+ Open=(gv %f &)
3963+ View=%view{ascii} ps2ascii %f
3964+
3965+# PDF
3966+type/^PDF
3967+ Open=(see %f &)
3968+ #Open=(acroread %f &)
3969+ #Open=(ghostview %f &)
3970+ View=%view{ascii} pdftotext %f -
3971+
3972+# The following code very ugly and should not be taken as example.
3973+# It should be cleaned up when the new format of mc.ext is developed.
3974+
3975+# html
3976+regex/\.([hH][tT][mM][lL]?)$
3977+ Open=(if test -n "@X11_WWW@" && test -n "$DISPLAY"; then (@X11_WWW@ file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
3978+ View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
3979+
3980+# StarOffice 5.2
3981+shell/.sdw
3982+ Open=(ooffice %f &)
3983+
3984+# StarOffice 6 and OpenOffice.org formats
3985+regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
3986+ Open=(ooffice %f &)
3987+ View=%view{ascii} odt2txt %f
3988+
3989+# AbiWord
3990+shell/.abw
3991+ Open=(abiword %f &)
3992+
3993+# Microsoft Word Document
3994+regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
3995+ Open=(abiword %f >/dev/null 2>&1 &)
3996+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
3997+type/^Microsoft\ Word
3998+ Open=(abiword %f >/dev/null 2>&1 &)
3999+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
4000+
4001+# RTF document
4002+regex/\.([rR][tT][fF])$
4003+ Open=(abiword %f >/dev/null 2>&1 &)
4004+
4005+# Microsoft Excel Worksheet
4006+regex/\.([xX][lL][sSwW])$
4007+ Open=(gnumeric %f >/dev/null 2>&1 &)
4008+ View=%view{ascii} xls2csv %f || strings %f
4009+type/^Microsoft\ Excel
4010+ Open=(gnumeric %f >/dev/null 2>&1 &)
4011+ View=%view{ascii} xls2csv %f || strings %f
4012+
4013+# Use OpenOffice.org to open any MS Office documents
4014+type/^Microsoft\ Office\ Document
4015+ Open=(ooffice %f &)
4016+
4017+# Framemaker
4018+type/^FrameMaker
4019+ Open=fmclient -f %f
4020+
4021+# DVI
4022+regex/\.([dD][vV][iI])$
4023+ Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi
4024+ View=%view{ascii} dvi2tty %f
4025+
4026+# TeX
4027+regex/\.([Tt][Ee][Xx])$
4028+ Include=editor
4029+
4030+# DjVu
4031+regex/\.(djvu|DJVU)$
4032+ Open=djview %f &
4033+
4034+### Miscellaneous ###
4035+
4036+# Makefile
4037+regex/[Mm]akefile$
4038+ Open=make -f %f %{Enter parameters}
4039+
4040+# Imakefile
4041+shell/Imakefile
4042+ Open=xmkmf -a
4043+
4044+# Makefile.PL (MakeMaker)
4045+regex/^Makefile.(PL|pl)$
4046+ Open=%var{PERL:perl} %f
4047+
4048+# dbf
4049+regex/\.([dD][bB][fF])$
4050+ Open=%view{ascii} dbview %f
4051+ View=%view{ascii} dbview -b %f
4052+
4053+# REXX script
4054+regex/\.(rexx?|cmd)$
4055+ Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
4056+
4057+# Disk images for Commodore computers (VIC20, C64, C128)
4058+regex/\.(d64|D64)$
4059+ Open=%cd %p/uc1541://
4060+ View=%view{ascii} c1541 %f -list
4061+ Extract=c1541 %f -extract
4062+
4063+# Glade, a user interface designer for GTK+ and GNOME
4064+regex/\.([Gg][Ll][Aa][Dd][Ee])$
4065+ Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
4066+
4067+# Gettext Catalogs
4068+shell/.mo
4069+ View=%view{ascii} msgunfmt %f || cat %f
4070+
4071+# lyx
4072+regex/\.(lyx|LYX)$
4073+ Open=lyx %f
4074+ View=%view{ascii} lyxcat %f
4075+
4076+# torrent
4077+regex/\.([tT][oO][rR][rR][eE][nN][tT])$
4078+ View=%view{ascii} ctorrent -x %f 2>/dev/null
4079+
4080+### Plain compressed files ###
4081+
4082+# ace
4083+regex/\.(ace|ACE)$
4084+ Open=%cd %p/uace://
4085+ View=%view{ascii} unace l %f
4086+ Extract=unace x %f
4087+
4088+# arc
4089+regex/\.(arc|ARC)$
4090+ Open=%cd %p/uarc://
4091+ View=%view{ascii} arc l %f
4092+ Extract=arc x %f '*'
4093+ Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
4094+
4095+# zip
4096+type/^([Zz][Ii][Pp])\ archive
4097+ Open=%cd %p/uzip://
4098+ View=%view{ascii} unzip -v %f
4099+
4100+# zoo
4101+regex/\.([Zz][Oo][Oo])$
4102+ Open=%cd %p/uzoo://
4103+ View=%view{ascii} zoo l %f
4104+
4105+# gzip
4106+type/^gzip
4107+ Open=gzip -dc %f | %var{PAGER:more}
4108+ View=%view{ascii} gzip -dc %f 2>/dev/null
4109+
4110+regex/\.(gz|Z)$
4111+ View=%view{ascii} gzip -dc %f 2>/dev/null
4112+
4113+# bzip2
4114+type/^bzip2
4115+ Open=bzip2 -dc %f | %var{PAGER:more}
4116+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
4117+
4118+regex/\.bz2?$
4119+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
4120+
4121+# bzip
4122+type/^bzip
4123+ Open=bzip -dc %f | %var{PAGER:more}
4124+ View=%view{ascii} bzip -dc %f 2>/dev/null
4125+
4126+# compress
4127+type/^compress
4128+ Open=gzip -dc %f | %var{PAGER:more}
4129+ View=%view{ascii} gzip -dc %f 2>/dev/null
4130+
4131+# lzma
4132+regex/\.lzma$
4133+ Open=lzma -dc %f | %var{PAGER:more}
4134+ View=%view{ascii} lzma -dc %f 2>/dev/null
4135+
4136+# xz
4137+regex/\.xz$
4138+ Open=xz -dc %f | %var{PAGER:more}
4139+ View=%view{ascii} xz -dc %f 2>/dev/null
4140+
4141+### Default ###
4142+
4143+# Default target for anything not described above
4144+default/*
4145+ Open=
4146+ View=
4147+
4148+
4149+### EOF ###
4150
4151=== added directory '.pc/99_detect_alt_editor.patch'
4152=== added directory '.pc/99_detect_alt_editor.patch/src'
4153=== added file '.pc/99_detect_alt_editor.patch/src/args.c'
4154--- .pc/99_detect_alt_editor.patch/src/args.c 1970-01-01 00:00:00 +0000
4155+++ .pc/99_detect_alt_editor.patch/src/args.c 2012-03-10 15:32:17 +0000
4156@@ -0,0 +1,749 @@
4157+/*
4158+ Handle command line arguments.
4159+
4160+ Copyright (C) 2009, 2011
4161+ The Free Software Foundation, Inc.
4162+
4163+ Written by:
4164+ Slava Zanko <slavazanko@gmail.com>, 2009.
4165+
4166+ This file is part of the Midnight Commander.
4167+
4168+ The Midnight Commander is free software: you can redistribute it
4169+ and/or modify it under the terms of the GNU General Public License as
4170+ published by the Free Software Foundation, either version 3 of the License,
4171+ or (at your option) any later version.
4172+
4173+ The Midnight Commander is distributed in the hope that it will be useful,
4174+ but WITHOUT ANY WARRANTY; without even the implied warranty of
4175+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4176+ GNU General Public License for more details.
4177+
4178+ You should have received a copy of the GNU General Public License
4179+ along with this program. If not, see <http://www.gnu.org/licenses/>.
4180+ */
4181+
4182+#include <config.h>
4183+#include <stdlib.h>
4184+#include <stdio.h>
4185+
4186+#include "lib/global.h"
4187+#include "lib/tty/tty.h"
4188+#include "lib/strutil.h"
4189+#include "lib/vfs/vfs.h"
4190+#include "lib/util.h" /* x_basename() */
4191+
4192+#ifdef ENABLE_VFS_SMB
4193+#include "src/vfs/smbfs/smbfs.h" /* smbfs_set_debugf() */
4194+#endif
4195+
4196+#include "src/main.h"
4197+#include "src/textconf.h"
4198+
4199+#include "src/args.h"
4200+
4201+/*** external variables **************************************************************************/
4202+
4203+/*** global variables ****************************************************************************/
4204+
4205+/* If true, show version info and exit */
4206+gboolean mc_args__show_version = FALSE;
4207+
4208+/* If true, assume we are running on an xterm terminal */
4209+gboolean mc_args__force_xterm = FALSE;
4210+
4211+gboolean mc_args__nomouse = FALSE;
4212+
4213+/* Force colors, only used by Slang */
4214+gboolean mc_args__force_colors = FALSE;
4215+
4216+/* Don't load keymap form file and use default one */
4217+gboolean mc_args__nokeymap = FALSE;
4218+
4219+/* Line to start the editor on */
4220+int mc_args__edit_start_line = 0;
4221+
4222+char *mc_args__last_wd_file = NULL;
4223+
4224+/* when enabled NETCODE, use folowing file as logfile */
4225+char *mc_args__netfs_logfile = NULL;
4226+
4227+/* keymap file */
4228+char *mc_args__keymap_file = NULL;
4229+
4230+/* Debug level */
4231+int mc_args__debug_level = 0;
4232+
4233+/*** file scope macro definitions ****************************************************************/
4234+
4235+/*** file scope type declarations ****************************************************************/
4236+
4237+/*** file scope variables ************************************************************************/
4238+
4239+/* forward declarations */
4240+static gboolean parse_mc_e_argument (const gchar * option_name, const gchar * value,
4241+ gpointer data, GError ** error);
4242+static gboolean parse_mc_v_argument (const gchar * option_name, const gchar * value,
4243+ gpointer data, GError ** error);
4244+
4245+static GOptionContext *context;
4246+
4247+static gboolean mc_args__nouse_subshell = FALSE;
4248+static gboolean mc_args__show_datadirs = FALSE;
4249+static gboolean mc_args__show_datadirs_extended = FALSE;
4250+static gboolean mc_args__show_configure_opts = FALSE;
4251+
4252+static GOptionGroup *main_group;
4253+
4254+static const GOptionEntry argument_main_table[] = {
4255+ /* *INDENT-OFF* */
4256+ /* generic options */
4257+ {
4258+ "version", 'V', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE,
4259+ &mc_args__show_version,
4260+ N_("Displays the current version"),
4261+ NULL
4262+ },
4263+
4264+ /* options for wrappers */
4265+ {
4266+ "datadir", 'f', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE,
4267+ &mc_args__show_datadirs,
4268+ N_("Print data directory"),
4269+ NULL
4270+ },
4271+
4272+ /* show extended information about used data directories */
4273+ {
4274+ "datadir-info", 'F', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE,
4275+ &mc_args__show_datadirs_extended,
4276+ N_("Print extended info about used data directories"),
4277+ NULL
4278+ },
4279+
4280+ /* show configure options */
4281+ {
4282+ "configure-options", '\0', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE,
4283+ &mc_args__show_configure_opts,
4284+ N_("Print configure options"),
4285+ NULL
4286+ },
4287+
4288+ {
4289+ "printwd", 'P', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING,
4290+ &mc_args__last_wd_file,
4291+ N_("Print last working directory to specified file"),
4292+ "<file>"
4293+ },
4294+
4295+#ifdef HAVE_SUBSHELL_SUPPORT
4296+ {
4297+ "subshell", 'U', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE,
4298+ &mc_global.tty.use_subshell,
4299+ N_("Enables subshell support (default)"),
4300+ NULL
4301+ },
4302+
4303+ {
4304+ "nosubshell", 'u', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE,
4305+ &mc_args__nouse_subshell,
4306+ N_("Disables subshell support"),
4307+ NULL
4308+ },
4309+#endif
4310+
4311+ /* debug options */
4312+#ifdef ENABLE_VFS_FTP
4313+ {
4314+ "ftplog", 'l', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING,
4315+ &mc_args__netfs_logfile,
4316+ N_("Log ftp dialog to specified file"),
4317+ "<file>"
4318+ },
4319+#endif /* ENABLE_VFS_FTP */
4320+#ifdef ENABLE_VFS_SMB
4321+ {
4322+ "debuglevel", 'D', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_INT,
4323+ &mc_args__debug_level,
4324+ N_("Set debug level"),
4325+ "<integer>"
4326+ },
4327+#endif /* ENABLE_VFS_SMB */
4328+
4329+ /* single file operations */
4330+ {
4331+ "view", 'v', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_CALLBACK,
4332+ parse_mc_v_argument,
4333+ N_("Launches the file viewer on a file"),
4334+ "<file>"
4335+ },
4336+
4337+ {
4338+ "edit", 'e', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_CALLBACK,
4339+ parse_mc_e_argument,
4340+ N_("Edits one file"),
4341+ "<file>"},
4342+
4343+ {
4344+ NULL, '\0', 0, 0, NULL, NULL, NULL /* Complete struct initialization */
4345+ }
4346+ /* *INDENT-ON* */
4347+};
4348+
4349+GOptionGroup *terminal_group;
4350+#define ARGS_TERM_OPTIONS 0
4351+static const GOptionEntry argument_terminal_table[] = {
4352+ /* *INDENT-OFF* */
4353+ /* terminal options */
4354+ {
4355+ "xterm", 'x', ARGS_TERM_OPTIONS, G_OPTION_ARG_NONE,
4356+ &mc_args__force_xterm,
4357+ N_("Forces xterm features"),
4358+ NULL
4359+ },
4360+
4361+ {
4362+ "oldmouse", 'g', ARGS_TERM_OPTIONS, G_OPTION_ARG_NONE,
4363+ &mc_global.tty.old_mouse,
4364+ N_("Tries to use an old highlight mouse tracking"),
4365+ NULL
4366+ },
4367+
4368+ {
4369+ "nomouse", 'd', ARGS_TERM_OPTIONS, G_OPTION_ARG_NONE,
4370+ &mc_args__nomouse,
4371+ N_("Disable mouse support in text version"),
4372+ NULL
4373+ },
4374+
4375+#ifdef HAVE_SLANG
4376+ {
4377+ "termcap", 't', ARGS_TERM_OPTIONS, G_OPTION_ARG_NONE,
4378+ &SLtt_Try_Termcap,
4379+ N_("Tries to use termcap instead of terminfo"),
4380+ NULL
4381+ },
4382+#endif
4383+
4384+ {
4385+ "slow", 's', ARGS_TERM_OPTIONS, G_OPTION_ARG_NONE,
4386+ &mc_global.tty.slow_terminal,
4387+ N_("To run on slow terminals"),
4388+ NULL
4389+ },
4390+
4391+ {
4392+ "stickchars", 'a', ARGS_TERM_OPTIONS, G_OPTION_ARG_NONE,
4393+ &mc_global.tty.ugly_line_drawing,
4394+ N_("Use stickchars to draw"),
4395+ NULL
4396+ },
4397+
4398+ {
4399+ "resetsoft", 'k', ARGS_TERM_OPTIONS, G_OPTION_ARG_NONE,
4400+ &reset_hp_softkeys,
4401+ N_("Resets soft keys on HP terminals"),
4402+ NULL
4403+ },
4404+
4405+ {
4406+ "keymap", 'K', ARGS_TERM_OPTIONS, G_OPTION_ARG_STRING,
4407+ &mc_args__keymap_file,
4408+ N_("Load definitions of key bindings from specified file"),
4409+ "<file>"
4410+ },
4411+
4412+ {
4413+ "nokeymap", '\0', ARGS_TERM_OPTIONS, G_OPTION_ARG_NONE,
4414+ &mc_args__nokeymap,
4415+ N_("Don't load definitions of key bindings from file, use defaults"),
4416+ NULL
4417+ },
4418+
4419+ {
4420+ NULL, '\0', 0, 0, NULL, NULL, NULL /* Complete struct initialization */
4421+ }
4422+ /* *INDENT-ON* */
4423+};
4424+
4425+#undef ARGS_TERM_OPTIONS
4426+
4427+GOptionGroup *color_group;
4428+#define ARGS_COLOR_OPTIONS 0
4429+/* #define ARGS_COLOR_OPTIONS G_OPTION_FLAG_IN_MAIN */
4430+static const GOptionEntry argument_color_table[] = {
4431+ /* *INDENT-OFF* */
4432+ /* color options */
4433+ {
4434+ "nocolor", 'b', ARGS_COLOR_OPTIONS, G_OPTION_ARG_NONE,
4435+ &mc_global.tty.disable_colors,
4436+ N_("Requests to run in black and white"),
4437+ NULL
4438+ },
4439+
4440+ {
4441+ "color", 'c', ARGS_COLOR_OPTIONS, G_OPTION_ARG_NONE,
4442+ &mc_args__force_colors,
4443+ N_("Request to run in color mode"),
4444+ NULL
4445+ },
4446+
4447+ {
4448+ "colors", 'C', ARGS_COLOR_OPTIONS, G_OPTION_ARG_STRING,
4449+ &mc_global.tty.command_line_colors,
4450+ N_("Specifies a color configuration"),
4451+ "<string>"
4452+ },
4453+
4454+ {
4455+ "skin", 'S', ARGS_COLOR_OPTIONS, G_OPTION_ARG_STRING,
4456+ &mc_global.skin,
4457+ N_("Show mc with specified skin"),
4458+ "<string>"
4459+ },
4460+
4461+ {
4462+ NULL, '\0', 0, 0, NULL, NULL, NULL /* Complete struct initialization */
4463+ }
4464+ /* *INDENT-ON* */
4465+};
4466+
4467+#undef ARGS_COLOR_OPTIONS
4468+
4469+static gchar *mc_args__loc__colors_string = NULL;
4470+static gchar *mc_args__loc__footer_string = NULL;
4471+static gchar *mc_args__loc__header_string = NULL;
4472+static gchar *mc_args__loc__usage_string = NULL;
4473+
4474+/*** file scope functions ************************************************************************/
4475+
4476+/* --------------------------------------------------------------------------------------------- */
4477+static void
4478+mc_args_clean_temp_help_strings (void)
4479+{
4480+ g_free (mc_args__loc__colors_string);
4481+ mc_args__loc__colors_string = NULL;
4482+
4483+ g_free (mc_args__loc__footer_string);
4484+ mc_args__loc__footer_string = NULL;
4485+
4486+ g_free (mc_args__loc__header_string);
4487+ mc_args__loc__header_string = NULL;
4488+
4489+ g_free (mc_args__loc__usage_string);
4490+ mc_args__loc__usage_string = NULL;
4491+}
4492+
4493+/* --------------------------------------------------------------------------------------------- */
4494+
4495+static GOptionGroup *
4496+mc_args_new_color_group (void)
4497+{
4498+/* *INDENT-OFF* */
4499+ /* FIXME: to preserve translations, lines should be split. */
4500+ mc_args__loc__colors_string = g_strdup_printf ("%s\n%s",
4501+ /* TRANSLATORS: don't translate keywords */
4502+ _("--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n\n"
4503+ "{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n"
4504+ "\n Keywords:\n"
4505+ " Global: errors, disabled, reverse, gauge, header\n"
4506+ " input, inputmark, inputunchanged, commandlinemark\n"
4507+ " bbarhotkey, bbarbutton, statusbar\n"
4508+ " File display: normal, selected, marked, markselect\n"
4509+ " Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n"
4510+ " errdhotfocus\n"
4511+ " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n"
4512+ " Popup menus: pmenunormal, pmenusel, pmenutitle\n"
4513+ " Editor: editnormal, editbold, editmarked, editwhitespace,\n"
4514+ " editlinestate\n"
4515+ " Viewer: viewbold, viewunderline, viewselected\n"
4516+ " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n"),
4517+ /* TRANSLATORS: don't translate color names and attributes */
4518+ _("Standard Colors:\n"
4519+ " black, gray, red, brightred, green, brightgreen, brown,\n"
4520+ " yellow, blue, brightblue, magenta, brightmagenta, cyan,\n"
4521+ " brightcyan, lightgray and white\n\n"
4522+ "Extended colors, when 256 colors are available:\n"
4523+ " color16 to color255, or rgb000 to rgb555 and gray0 to gray23\n\n"
4524+ "Attributes:\n"
4525+ " bold, underline, reverse, blink; append more with '+'\n")
4526+ );
4527+/* *INDENT-ON* */
4528+
4529+ return g_option_group_new ("color", mc_args__loc__colors_string,
4530+ _("Color options"), NULL, NULL);
4531+
4532+}
4533+
4534+/* --------------------------------------------------------------------------------------------- */
4535+
4536+static gchar *
4537+mc_args_add_usage_info (void)
4538+{
4539+ mc_args__loc__usage_string = g_strdup_printf ("[%s] %s\n %s - %s\n",
4540+ _("+number"),
4541+ _("[this_dir] [other_panel_dir]"),
4542+ _("+number"),
4543+ _
4544+ ("Set initial line number for the internal editor"));
4545+ return mc_args__loc__usage_string;
4546+}
4547+
4548+/* --------------------------------------------------------------------------------------------- */
4549+
4550+static void
4551+mc_args_add_extended_info_to_help (void)
4552+{
4553+ mc_args__loc__footer_string = g_strdup_printf ("%s",
4554+ _
4555+ ("\n"
4556+ "Please send any bug reports (including the output of `mc -V')\n"
4557+ "as tickets at www.midnight-commander.org\n"));
4558+ mc_args__loc__header_string = g_strdup_printf (_("GNU Midnight Commander %s\n"), VERSION);
4559+
4560+#if GLIB_CHECK_VERSION(2,12,0)
4561+ g_option_context_set_description (context, mc_args__loc__footer_string);
4562+ g_option_context_set_summary (context, mc_args__loc__header_string);
4563+#endif
4564+}
4565+
4566+/* --------------------------------------------------------------------------------------------- */
4567+
4568+static void
4569+mc_setup_by_args (int argc, char *argv[])
4570+{
4571+ const char *base;
4572+ char *tmp;
4573+
4574+#ifdef ENABLE_VFS_SMB
4575+ if (mc_args__debug_level != 0)
4576+ smbfs_set_debug (mc_args__debug_level);
4577+#endif /* ENABLE_VFS_SMB */
4578+
4579+ if (mc_args__netfs_logfile != NULL)
4580+ {
4581+#ifdef ENABLE_VFS_FTP
4582+ mc_setctl ("ftp://", VFS_SETCTL_LOGFILE, (void *) mc_args__netfs_logfile);
4583+#endif /* ENABLE_VFS_FTP */
4584+#ifdef ENABLE_VFS_SMB
4585+ mc_setctl ("smb://", VFS_SETCTL_LOGFILE, (void *) mc_args__netfs_logfile);
4586+#endif /* ENABLE_VFS_SMB */
4587+ }
4588+
4589+ base = x_basename (argv[0]);
4590+ tmp = (argc > 0) ? argv[1] : NULL;
4591+
4592+ if (strncmp (base, "mce", 3) == 0 || strcmp (base, "vi") == 0)
4593+ {
4594+ /* mce* or vi is link to mc */
4595+
4596+ mc_run_param0 = g_strdup ("");
4597+ if (tmp != NULL)
4598+ {
4599+ /*
4600+ * Check for filename:lineno, followed by an optional colon.
4601+ * This format is used by many programs (especially compilers)
4602+ * in error messages and warnings. It is supported so that
4603+ * users can quickly copy and paste file locations.
4604+ */
4605+ char *end, *p;
4606+
4607+ end = tmp + strlen (tmp);
4608+ p = end;
4609+
4610+ if (p > tmp && p[-1] == ':')
4611+ p--;
4612+ while (p > tmp && g_ascii_isdigit ((gchar) p[-1]))
4613+ p--;
4614+ if (tmp < p && p < end && p[-1] == ':')
4615+ {
4616+ char *fname;
4617+ struct stat st;
4618+
4619+ fname = g_strndup (tmp, p - 1 - tmp);
4620+ /*
4621+ * Check that the file before the colon actually exists.
4622+ * If it doesn't exist, revert to the old behavior.
4623+ */
4624+ if (mc_stat (tmp, &st) == -1 && mc_stat (fname, &st) != -1)
4625+ {
4626+ mc_run_param0 = fname;
4627+ mc_args__edit_start_line = atoi (p);
4628+ }
4629+ else
4630+ {
4631+ g_free (fname);
4632+ goto try_plus_filename;
4633+ }
4634+ }
4635+ else
4636+ {
4637+ try_plus_filename:
4638+ if (*tmp == '+' && g_ascii_isdigit ((gchar) tmp[1]))
4639+ {
4640+ int start_line;
4641+
4642+ start_line = atoi (tmp);
4643+
4644+ /*
4645+ * If start_line is zero, position the cursor at the
4646+ * beginning of the file as other editors (vi, nano)
4647+ */
4648+ if (start_line == 0)
4649+ start_line++;
4650+
4651+ if (start_line > 0)
4652+ {
4653+ char *file;
4654+
4655+ file = (argc > 1) ? argv[2] : NULL;
4656+ if (file != NULL)
4657+ {
4658+ tmp = file;
4659+ mc_args__edit_start_line = start_line;
4660+ }
4661+ }
4662+ }
4663+ mc_run_param0 = g_strdup (tmp);
4664+ }
4665+ }
4666+ mc_global.mc_run_mode = MC_RUN_EDITOR;
4667+ }
4668+ else if (strncmp (base, "mcv", 3) == 0 || strcmp (base, "view") == 0)
4669+ {
4670+ /* mcv* or view is link to mc */
4671+
4672+ if (tmp != NULL)
4673+ mc_run_param0 = g_strdup (tmp);
4674+ else
4675+ {
4676+ fprintf (stderr, "%s\n", _("No arguments given to the viewer."));
4677+ exit (EXIT_FAILURE);
4678+ }
4679+ mc_global.mc_run_mode = MC_RUN_VIEWER;
4680+ }
4681+#ifdef USE_DIFF_VIEW
4682+ else if (strncmp (base, "mcd", 3) == 0 || strcmp (base, "diff") == 0)
4683+ {
4684+ /* mcd* or diff is link to mc */
4685+
4686+ if (argc < 3)
4687+ {
4688+ fprintf (stderr, "%s\n", _("Two files are required to evoke the diffviewer."));
4689+ exit (EXIT_FAILURE);
4690+ }
4691+
4692+ if (tmp != NULL)
4693+ {
4694+ mc_run_param0 = g_strdup (tmp);
4695+ tmp = (argc > 1) ? argv[2] : NULL;
4696+ if (tmp != NULL)
4697+ mc_run_param1 = g_strdup (tmp);
4698+ mc_global.mc_run_mode = MC_RUN_DIFFVIEWER;
4699+ }
4700+ }
4701+#endif /* USE_DIFF_VIEW */
4702+ else
4703+ {
4704+ /* MC is run as mc */
4705+
4706+ switch (mc_global.mc_run_mode)
4707+ {
4708+ case MC_RUN_EDITOR:
4709+ case MC_RUN_VIEWER:
4710+ /* mc_run_param0 is set up in parse_mc_e_argument() and parse_mc_v_argument() */
4711+ break;
4712+
4713+ case MC_RUN_DIFFVIEWER:
4714+ /* not implemented yet */
4715+ break;
4716+
4717+ case MC_RUN_FULL:
4718+ default:
4719+ /* sets the current dir and the other dir */
4720+ if (tmp != NULL)
4721+ {
4722+ mc_run_param0 = g_strdup (tmp);
4723+ tmp = (argc > 1) ? argv[2] : NULL;
4724+ if (tmp != NULL)
4725+ mc_run_param1 = g_strdup (tmp);
4726+ }
4727+ mc_global.mc_run_mode = MC_RUN_FULL;
4728+ break;
4729+ }
4730+ }
4731+}
4732+
4733+/* --------------------------------------------------------------------------------------------- */
4734+
4735+static gboolean
4736+mc_args_process (int argc, char *argv[])
4737+{
4738+ if (mc_args__show_version)
4739+ {
4740+ show_version ();
4741+ return FALSE;
4742+ }
4743+ if (mc_args__show_datadirs)
4744+ {
4745+ printf ("%s (%s)\n", mc_global.sysconfig_dir, mc_global.share_data_dir);
4746+ return FALSE;
4747+ }
4748+
4749+ if (mc_args__show_datadirs_extended)
4750+ {
4751+ show_datadirs_extended ();
4752+ return FALSE;
4753+ }
4754+
4755+ if (mc_args__show_configure_opts)
4756+ {
4757+ show_configure_options ();
4758+ return FALSE;
4759+ }
4760+
4761+ if (mc_args__force_colors)
4762+ mc_global.tty.disable_colors = FALSE;
4763+
4764+#ifdef HAVE_SUBSHELL_SUPPORT
4765+ if (mc_args__nouse_subshell)
4766+ mc_global.tty.use_subshell = FALSE;
4767+#endif /* HAVE_SUBSHELL_SUPPORT */
4768+
4769+ mc_setup_by_args (argc, argv);
4770+
4771+ return TRUE;
4772+}
4773+
4774+/* --------------------------------------------------------------------------------------------- */
4775+
4776+static gchar *
4777+mc_args__convert_help_to_syscharset (const gchar * charset, const gchar * error_message,
4778+ const gchar * help_str)
4779+{
4780+ GString *buffer = g_string_new ("");
4781+ GIConv conv = g_iconv_open (charset, "UTF-8");
4782+ gchar *full_help_str = g_strdup_printf ("%s\n\n%s\n", error_message, help_str);
4783+
4784+ str_convert (conv, full_help_str, buffer);
4785+
4786+ g_free (full_help_str);
4787+ g_iconv_close (conv);
4788+
4789+ return g_string_free (buffer, FALSE);
4790+}
4791+
4792+/* --------------------------------------------------------------------------------------------- */
4793+
4794+static gboolean
4795+parse_mc_e_argument (const gchar * option_name, const gchar * value, gpointer data, GError ** error)
4796+{
4797+ (void) option_name;
4798+ (void) data;
4799+ (void) error;
4800+
4801+ mc_global.mc_run_mode = MC_RUN_EDITOR;
4802+ mc_run_param0 = g_strdup (value);
4803+
4804+ return TRUE;
4805+}
4806+
4807+/* --------------------------------------------------------------------------------------------- */
4808+
4809+static gboolean
4810+parse_mc_v_argument (const gchar * option_name, const gchar * value, gpointer data, GError ** error)
4811+{
4812+ (void) option_name;
4813+ (void) data;
4814+ (void) error;
4815+
4816+ mc_global.mc_run_mode = MC_RUN_VIEWER;
4817+ mc_run_param0 = g_strdup (value);
4818+
4819+ return TRUE;
4820+}
4821+
4822+/* --------------------------------------------------------------------------------------------- */
4823+
4824+/*** public functions ****************************************************************************/
4825+
4826+/* --------------------------------------------------------------------------------------------- */
4827+
4828+gboolean
4829+mc_args_handle (int argc, char **argv, const char *translation_domain)
4830+{
4831+ GError *error = NULL;
4832+ const gchar *_system_codepage = str_detect_termencoding ();
4833+
4834+#ifdef ENABLE_NLS
4835+ if (!str_isutf8 (_system_codepage))
4836+ bind_textdomain_codeset ("mc", "UTF-8");
4837+#endif
4838+
4839+ context = g_option_context_new (mc_args_add_usage_info ());
4840+
4841+ g_option_context_set_ignore_unknown_options (context, FALSE);
4842+
4843+ mc_args_add_extended_info_to_help ();
4844+
4845+ main_group = g_option_group_new ("main", _("Main options"), _("Main options"), NULL, NULL);
4846+
4847+ g_option_group_add_entries (main_group, argument_main_table);
4848+ g_option_context_set_main_group (context, main_group);
4849+ g_option_group_set_translation_domain (main_group, translation_domain);
4850+
4851+ terminal_group = g_option_group_new ("terminal", _("Terminal options"),
4852+ _("Terminal options"), NULL, NULL);
4853+
4854+ g_option_group_add_entries (terminal_group, argument_terminal_table);
4855+ g_option_context_add_group (context, terminal_group);
4856+ g_option_group_set_translation_domain (terminal_group, translation_domain);
4857+
4858+ color_group = mc_args_new_color_group ();
4859+
4860+ g_option_group_add_entries (color_group, argument_color_table);
4861+ g_option_context_add_group (context, color_group);
4862+ g_option_group_set_translation_domain (color_group, translation_domain);
4863+
4864+ if (!g_option_context_parse (context, &argc, &argv, &error))
4865+ {
4866+ if (error != NULL)
4867+ {
4868+ gchar *full_help_str;
4869+ gchar *help_str;
4870+
4871+#if GLIB_CHECK_VERSION(2,14,0)
4872+ help_str = g_option_context_get_help (context, TRUE, NULL);
4873+#else
4874+ help_str = g_strdup ("");
4875+#endif
4876+ if (!str_isutf8 (_system_codepage))
4877+ full_help_str =
4878+ mc_args__convert_help_to_syscharset (_system_codepage, error->message,
4879+ help_str);
4880+ else
4881+ full_help_str = g_strdup_printf ("%s\n\n%s\n", error->message, help_str);
4882+
4883+ fprintf (stderr, "%s", full_help_str);
4884+
4885+ g_free (help_str);
4886+ g_free (full_help_str);
4887+ g_error_free (error);
4888+ }
4889+ g_option_context_free (context);
4890+ mc_args_clean_temp_help_strings ();
4891+ return FALSE;
4892+ }
4893+
4894+ g_option_context_free (context);
4895+ mc_args_clean_temp_help_strings ();
4896+
4897+#ifdef ENABLE_NLS
4898+ if (!str_isutf8 (_system_codepage))
4899+ bind_textdomain_codeset ("mc", _system_codepage);
4900+#endif
4901+
4902+ return mc_args_process (argc, argv);
4903+}
4904+
4905+/* --------------------------------------------------------------------------------------------- */
4906
4907=== modified file '.pc/applied-patches'
4908--- .pc/applied-patches 2011-06-21 13:31:08 +0000
4909+++ .pc/applied-patches 2012-03-10 15:32:17 +0000
4910@@ -1,11 +1,14 @@
4911-debian/03_use_awk.patch
4912-debian/04_add_gem_extension.patch
4913-debian/05_disable_internal_editor.patch
4914-debian/06_use_default_pdf_viewer.patch
4915-debian/08_use_sensible-editor.patch
4916-debian/09_uzip_broken_528239.patch
4917-debian/10_use_default_images_viewer.patch
4918-debian/20_wrong_path_to_wrappers.patch
4919-debian/84_use_dvicat_instead_of_dvi2tty.patch
4920-debian/99_detect_alt_editor.patch
4921-pending/99_enable_reading_debs.patch
4922+man_mc.patch
4923+mcedit_max-size.patch
4924+mcedit_auto_indent.patch
4925+04_add_gem_extension.patch
4926+05_disable_internal_editor.patch
4927+06_use_default_pdf_viewer.patch
4928+08_use_sensible-editor.patch
4929+09_uzip_broken_528239.patch
4930+10_use_default_images_viewer.patch
4931+84_use_dvicat_instead_of_dvi2tty.patch
4932+99_detect_alt_editor.patch
4933+man_spelling.patch
4934+ext_libreoffice.patch
4935+ext_cpio-xz.patch
4936
4937=== removed directory '.pc/debian'
4938=== removed directory '.pc/debian/03_use_awk.patch'
4939=== removed file '.pc/debian/03_use_awk.patch/configure'
4940--- .pc/debian/03_use_awk.patch/configure 2010-09-07 10:59:46 +0000
4941+++ .pc/debian/03_use_awk.patch/configure 1970-01-01 00:00:00 +0000
4942@@ -1,30481 +0,0 @@
4943-#! /bin/sh
4944-# Guess values for system-dependent variables and create Makefiles.
4945-# Generated by GNU Autoconf 2.65.
4946-#
4947-#
4948-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
4949-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
4950-# Inc.
4951-#
4952-#
4953-# This configure script is free software; the Free Software Foundation
4954-# gives unlimited permission to copy, distribute and modify it.
4955-## -------------------- ##
4956-## M4sh Initialization. ##
4957-## -------------------- ##
4958-
4959-# Be more Bourne compatible
4960-DUALCASE=1; export DUALCASE # for MKS sh
4961-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
4962- emulate sh
4963- NULLCMD=:
4964- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
4965- # is contrary to our usage. Disable this feature.
4966- alias -g '${1+"$@"}'='"$@"'
4967- setopt NO_GLOB_SUBST
4968-else
4969- case `(set -o) 2>/dev/null` in #(
4970- *posix*) :
4971- set -o posix ;; #(
4972- *) :
4973- ;;
4974-esac
4975-fi
4976-
4977-
4978-as_nl='
4979-'
4980-export as_nl
4981-# Printing a long string crashes Solaris 7 /usr/bin/printf.
4982-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
4983-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
4984-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
4985-# Prefer a ksh shell builtin over an external printf program on Solaris,
4986-# but without wasting forks for bash or zsh.
4987-if test -z "$BASH_VERSION$ZSH_VERSION" \
4988- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
4989- as_echo='print -r --'
4990- as_echo_n='print -rn --'
4991-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
4992- as_echo='printf %s\n'
4993- as_echo_n='printf %s'
4994-else
4995- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
4996- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
4997- as_echo_n='/usr/ucb/echo -n'
4998- else
4999- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
5000- as_echo_n_body='eval
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches