]>
git.ipfire.org Git - thirdparty/grub.git/log
Vladimir 'phcoder' Serbinenko [Tue, 30 Mar 2010 12:09:24 +0000 (14:09 +0200)]
Remove useless change in grub-emu.c
Vladimir 'phcoder' Serbinenko [Tue, 30 Mar 2010 09:24:28 +0000 (11:24 +0200)]
Merge mainline into bidi
Vladimir 'phcoder' Serbinenko [Tue, 30 Mar 2010 09:18:29 +0000 (11:18 +0200)]
* loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix compilation on coreboot and qemu
Vladimir 'phcoder' Serbinenko [Mon, 29 Mar 2010 11:36:08 +0000 (13:36 +0200)]
Transform remarkable unicode codepoints into enum
Vladimir 'phcoder' Serbinenko [Mon, 29 Mar 2010 11:31:03 +0000 (13:31 +0200)]
Basic thaana support
Vladimir 'phcoder' Serbinenko [Mon, 29 Mar 2010 11:01:08 +0000 (13:01 +0200)]
Alif and alaph superscripts
Vladimir 'phcoder' Serbinenko [Mon, 29 Mar 2010 02:11:14 +0000 (04:11 +0200)]
Arabic diacritics support
Vladimir 'phcoder' Serbinenko [Mon, 29 Mar 2010 01:37:24 +0000 (03:37 +0200)]
Shape arabic code when on UTF-8 visual
Vladimir 'phcoder' Serbinenko [Mon, 29 Mar 2010 01:13:59 +0000 (03:13 +0200)]
Cut font borders
Vladimir 'phcoder' Serbinenko [Mon, 29 Mar 2010 00:06:40 +0000 (02:06 +0200)]
Generate shaping table based on unicode if source font has none
Vladimir 'phcoder' Serbinenko [Mon, 29 Mar 2010 00:05:38 +0000 (02:05 +0200)]
Fix ascii fallback
Vladimir 'phcoder' Serbinenko [Sun, 28 Mar 2010 20:20:32 +0000 (22:20 +0200)]
Use posix wrappers in lexer
Vladimir 'phcoder' Serbinenko [Sun, 28 Mar 2010 20:19:06 +0000 (22:19 +0200)]
Fix path to regex.h
Vladimir 'phcoder' Serbinenko [Sun, 28 Mar 2010 19:43:42 +0000 (21:43 +0200)]
resynced with gnulib. Cleaned up wrapping layer
Vladimir 'phcoder' Serbinenko [Sun, 28 Mar 2010 16:31:40 +0000 (18:31 +0200)]
merged mainline into regexp
Vladimir 'phcoder' Serbinenko [Sun, 28 Mar 2010 12:19:41 +0000 (14:19 +0200)]
* include/multiboot2.h: Resync with spec.
Vladimir 'phcoder' Serbinenko [Sun, 28 Mar 2010 11:53:23 +0000 (13:53 +0200)]
Multiboot2 tag support
* conf/i386.rmk (multiboot2_mod_SOURCES): Replace
loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
Remove loader/multiboot_loader.c.
* include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
(grub_multiboot2_real_boot): Likewise.
* include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
(grub_get_multiboot_mmap_count): New proto.
(grub_fill_multiboot_mmap): Likewise.
(grub_multiboot_set_video_mode): Likewise.
(grub_multiboot_set_console): Likewise.
(grub_multiboot_load): Likewise.
(grub_multiboot_load_elf): Likewise.
(GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
(GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
* include/multiboot.h: Resynced with specification.
* include/multiboot2.h: Resynced with specification.
* loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
* loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
* loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
* include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
users updated.
* loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
* loader/i386/multiboot.c (accepts_video): ... here. All users updated.
* loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
Removed.
* loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
Moved from here...
* loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
* loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
Moved from here...
* loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
* loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
* loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
All users updated.
* loader/i386/multiboot_mbi2.c: New file.
Vladimir 'phcoder' Serbinenko [Sun, 28 Mar 2010 11:46:42 +0000 (13:46 +0200)]
Remove VBE multiboot support
Vladimir 'phcoder' Serbinenko [Sat, 27 Mar 2010 21:42:02 +0000 (22:42 +0100)]
Resync changelog
Vladimir 'phcoder' Serbinenko [Sat, 27 Mar 2010 21:40:49 +0000 (22:40 +0100)]
Fix compilation problem
Vladimir 'phcoder' Serbinenko [Sat, 27 Mar 2010 21:14:41 +0000 (22:14 +0100)]
Merge mainline into mbtag
Vladimir 'phcoder' Serbinenko [Sat, 27 Mar 2010 20:50:57 +0000 (21:50 +0100)]
Resynced with multiboot2 spec
Vladimir 'phcoder' Serbinenko [Sat, 27 Mar 2010 11:53:40 +0000 (12:53 +0100)]
Resync with gnulib.
* Makefile.in (GNULIB_CFLAGS): New variable.
* conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
(grub_script_check_CFLAGS): New variable.
* gnulib/alloca.h: Resync with gnulib.
* gnulib/error.c: Likewise.
* gnulib/error.h: Likewise.
* gnulib/fnmatch.c: Likewise.
* gnulib/fnmatch_loop.c: Likewise.
* gnulib/getdelim.c: Likewise.
* gnulib/getline.c: Likewise.
* gnulib/getopt.c: Likewise.
* gnulib/getopt1.c: Likewise.
* gnulib/getopt_int.h: Likewise.
* gnulib/gettext.h: Likewise.
* gnulib/progname.c: Likewise.
* gnulib/progname.h: Likewise.
Grégoire Sutre [Sat, 27 Mar 2010 11:19:32 +0000 (12:19 +0100)]
Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
which is the case with --disabled-nls.
* include/grub/i18n.h: Use (defined(ENABLE_NLS)
&& ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
* util/misc.c: Likewise.
* util/mkisofs/mkisofs.c: Likewise.
* util/mkisofs/mkisofs.h: Likewise.
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 23:58:35 +0000 (00:58 +0100)]
Remove grub_script_function_iterate
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 23:52:40 +0000 (00:52 +0100)]
Remove grub_dl_iterate
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 23:36:28 +0000 (00:36 +0100)]
Remove grub_video_iterate
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 23:27:42 +0000 (00:27 +0100)]
Remove grub_fs_iterate
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 23:19:42 +0000 (00:19 +0100)]
Remove handlers
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 23:04:14 +0000 (00:04 +0100)]
Simplify Apple CC support.
* commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
Add 0 byte at the end not to have a symbol with empty target.
* mmap/i386/pc/mmap_helper.S: Likewise.
* genmk.rb: Ignore errors 2030 and 2050.
* kern/i386/pc/startup.S: Use LOCAL when possible.
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 19:20:52 +0000 (20:20 +0100)]
Remove grub_list_pop
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 19:05:25 +0000 (20:05 +0100)]
cleanup list.h a bit
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 19:00:06 +0000 (20:00 +0100)]
Eradicate grub_list_insert
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 18:44:18 +0000 (19:44 +0100)]
Complete eradication of grub_list_iterate
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 18:35:34 +0000 (19:35 +0100)]
Remove list_iterate usage tests/
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 18:32:21 +0000 (19:32 +0100)]
Use FOR_LIST_ELEMENTS convenience macros
BVK Chaitanya [Fri, 26 Mar 2010 18:27:06 +0000 (23:57 +0530)]
fix for final semicolon bug
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 18:25:53 +0000 (19:25 +0100)]
FOR_LIST_ELEMENTS convenience macros
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 18:23:19 +0000 (19:23 +0100)]
Remove list_iterate usage functional_test.c
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 18:21:01 +0000 (19:21 +0100)]
Remove second part of list_iterate usage auth.c
BVK Chaitanya [Fri, 26 Mar 2010 18:19:49 +0000 (23:49 +0530)]
merged with mainline
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 18:18:19 +0000 (19:18 +0100)]
Remove list_iterate usage auth.c
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 18:14:24 +0000 (19:14 +0100)]
Remove grub_commands_iterate
BVK Chaitanya [Fri, 26 Mar 2010 18:11:46 +0000 (23:41 +0530)]
testcase for blank lines in grub script
BVK Chaitanya [Fri, 26 Mar 2010 18:06:14 +0000 (23:36 +0530)]
merged with mainline
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 16:11:52 +0000 (17:11 +0100)]
Merge grub-file into mainline
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 16:06:36 +0000 (17:06 +0100)]
merge mainline into grub-file
BVK Chaitanya [Fri, 26 Mar 2010 15:43:06 +0000 (21:13 +0530)]
merged with mainline
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 15:40:41 +0000 (16:40 +0100)]
Sunpc partitions support.
* conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
(grub_fstest_SOURCES): Likewise.
(pkglib_MODULES): Add part_sunpc.mod.
(part_sunpc_mod_SOURCES): New variable.
(part_sunpc_mod_CFLAGS): Likewise.
(part_sunpc_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
* partmap/sunpc.c: New file.
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 15:35:12 +0000 (16:35 +0100)]
Merge mainline into sunpc
BVK Chaitanya [Fri, 26 Mar 2010 15:30:15 +0000 (21:00 +0530)]
2010-01-12 BVK Chaitanya <bvk.groups@gmail.com>
For loop support to GRUB script.
* include/grub/script_sh.h (grub_script_cmdfor): New struct.
(grub_script_create_cmdfor): New function prototype.
(grub_script_execute_cmdfor): New function prototype.
* script/execute.c (grub_script_execute_cmdfor): New function.
* script/parser.y (command): New for command.
(forcmd): New grammar rule.
* script/script.c (grub_script_create_cmdfor): New function.
* util/grub-script-check.c (grub_script_execute_cmdfor): New
function.
BVK Chaitanya [Fri, 26 Mar 2010 15:25:07 +0000 (20:55 +0530)]
merged with mainline
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 14:55:50 +0000 (15:55 +0100)]
Nested partitions
* commands/blocklist.c (grub_cmd_blocklist): Don't check whether
'partition' is NULL, grub_partition_get_start already does that.
* commands/loadenv.c (check_blocklists): Likewise.
(write_blocklists): Likewise.
* conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
(grub_fstest_SOURCES): Likewise.
(pkglib_MODULES): Add part_bsd.mod.
(part_bsd_mod_SOURCES): New variable.
(part_bsd_mod_CFLAGS): Likewise.
(part_bsd_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
(grub_emu_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* include/grub/bsdlabel.h: New file.
* include/grub/partition.h (grub_partition_map): Remove 'probe' and
'get_name'.
(grub_partition): Add 'parent' and 'number'. Remove 'data'.
(grub_partition_map_list): New variable.
(grub_partition_map_register): Inline.
(grub_partition_map_unregister): Likewise.
(FOR_PARTITION_MAPS): New macro.
(grub_partition_map_iterate): Removed.
(grub_partition_get_start): Handle nested partitions.
* include/grub/msdos_partition.h: Remove bsd-related entries.
(grub_pc_partition): Remove.
* kern/disk.c (grub_disk_close): Free partition data.
(grub_disk_adjust_range): Handle nested partitions.
* kern/partition.c (grub_partition_map_probe): New function.
(grub_partition_probe): Parse name to number, handle subpartitions.
(get_partmap): New function.
(grub_partition_iterate): Handle subpartitions.
(grub_partition_get_name): Likewise.
* loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
* loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
* loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
* partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
Set 'number'.
(acorn_partition_map_probe): Remove.
(acorn_partition_map_get_name): Likewise.
* partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
Set 'number'.
Set 'index' to 0 since there can be only one partition entry per sector.
(amiga_partition_map_probe): Remove.
(amiga_partition_map_get_name): Likewise.
* partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
Set 'number'.
Set 'offset' and 'index' to real positions of partitions.
(apple_partition_map_probe): Remove.
(apple_partition_map_get_name): Likewise.
* partmap/bsdlabel.c: New file.
* partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
Set 'number'.
Allocate 'data' so it can be correctly freed.
Set 'index' to offset inside sector.
(gpt_partition_map_probe): Remove.
(gpt_partition_map_get_name): Likewise.
* partmap/msdos.c (grub_partition_parse): Remove.
(pc_partition_map_iterate): Don't force raw access.
Set 'number'.
Make 'ext_offset' a local variable.
(pc_partition_map_probe): Remove.
(pc_partition_map_get_name): Remove.
* partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
Set 'number'.
(sun_partition_map_probe): Remove.
(sun_partition_map_get_name): Likewise.
* parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
(grub_pcpart_type): Likewise.
* util/hostdisk.c (open_device): Handle new numbering scheme.
(grub_util_biosdisk_get_grub_dev): Handle nested partitions.
* util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
* util/grub-probe.c (probe_partmap): Handle nested paritions.
* util/grub-install.in: Insert all subpartition modules.
* util/ieee1275/grub-install.in: Likewise.
Vladimir 'phcoder' Serbinenko [Fri, 26 Mar 2010 14:44:13 +0000 (15:44 +0100)]
merge mainline into nestpart
Vladimir 'phcoder' Serbinenko [Thu, 25 Mar 2010 10:56:19 +0000 (11:56 +0100)]
Report freetype errors
Vladimir 'phcoder' Serbinenko [Thu, 25 Mar 2010 10:26:50 +0000 (11:26 +0100)]
Add ligatures to problem list
Vladimir 'phcoder' Serbinenko [Wed, 24 Mar 2010 21:33:00 +0000 (22:33 +0100)]
Arabic shaping support
Vladimir 'phcoder' Serbinenko [Wed, 24 Mar 2010 19:03:29 +0000 (20:03 +0100)]
Update unicode problem list
Adrian Glaubitz [Wed, 24 Mar 2010 12:54:39 +0000 (12:54 +0000)]
* kern/dl.c (grub_dl_resolve_symbols): Improve error message
grammar.
<> [Wed, 24 Mar 2010 12:50:15 +0000 (12:50 +0000)]
* .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
Vladimir 'phcoder' Serbinenko [Wed, 24 Mar 2010 00:05:50 +0000 (01:05 +0100)]
Remove private use surrogates from unsupported list
Vladimir 'phcoder' Serbinenko [Wed, 24 Mar 2010 00:00:54 +0000 (01:00 +0100)]
Arabic joining computation
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 23:35:38 +0000 (00:35 +0100)]
Import data for arabic joining computation
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 22:33:42 +0000 (23:33 +0100)]
mention variations and vertical text in unsupported features
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 22:25:14 +0000 (23:25 +0100)]
Moved unicode files to separate directory
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 22:20:35 +0000 (23:20 +0100)]
Update UnicodeData.txt
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 22:19:27 +0000 (23:19 +0100)]
Add character properties checking and a comment about problematic characters
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 20:50:27 +0000 (21:50 +0100)]
Most hebrew diacritics support (except dagesh and final kaf rules)
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 18:13:46 +0000 (19:13 +0100)]
Above left support. Various fixups
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 17:39:02 +0000 (18:39 +0100)]
below right support
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 17:17:54 +0000 (18:17 +0100)]
Fix yeeloong compilation
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 17:06:49 +0000 (18:06 +0100)]
Fix few pager bugs
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 16:54:31 +0000 (17:54 +0100)]
Restore and enhance pager functionality
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 15:51:53 +0000 (16:51 +0100)]
Replace line counter with char counter
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 15:46:45 +0000 (16:46 +0100)]
Fix few memory bugs
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 15:28:35 +0000 (16:28 +0100)]
Make few more points bidi-clean
Vladimir 'phcoder' Serbinenko [Tue, 23 Mar 2010 15:02:06 +0000 (16:02 +0100)]
Remove leftover variables
BVK Chaitanya [Mon, 22 Mar 2010 11:46:31 +0000 (17:16 +0530)]
merged in mainline
BVK Chaitanya [Mon, 22 Mar 2010 08:33:20 +0000 (14:03 +0530)]
fix for grub_script_final_semicolon test
BVK Chaitanya [Mon, 22 Mar 2010 08:32:48 +0000 (14:02 +0530)]
testcase for the last semicolon behavior
BVK Chaitanya [Mon, 22 Mar 2010 08:24:45 +0000 (13:54 +0530)]
testcase for blanklines in grub script
BVK Chaitanya [Mon, 22 Mar 2010 07:55:09 +0000 (13:25 +0530)]
fixed help message for grub-script-check
Colin Watson [Sun, 21 Mar 2010 23:04:02 +0000 (23:04 +0000)]
* util/grub-install.in: Copy .mo files from @datadir@/locale, to
match where 'make install' puts them.
* util/i386/efi/grub-install.in: Likewise.
BVK Chaitanya [Sun, 21 Mar 2010 05:33:41 +0000 (11:03 +0530)]
merged mainline
BVK Chaitanya [Sun, 21 Mar 2010 04:57:21 +0000 (10:27 +0530)]
added elif patch from Deepak Vankadaru
BVK Chaitanya [Sun, 21 Mar 2010 04:29:43 +0000 (09:59 +0530)]
merged for-loop branch
Colin Watson [Fri, 19 Mar 2010 11:28:05 +0000 (11:28 +0000)]
* .bzrignore: Add gentrigtables, grub-script-check,
grub_script_check_init.c, grub_script_check_init.h, and
trigtables.c.
Vladimir 'phcoder' Serbinenko [Wed, 17 Mar 2010 23:19:30 +0000 (00:19 +0100)]
* kern/parser.c: Indented.
Vladimir 'phcoder' Serbinenko [Wed, 17 Mar 2010 07:57:23 +0000 (08:57 +0100)]
Move terminal-related function from normal/charset.c to normal/term.c
Vladimir 'phcoder' Serbinenko [Wed, 17 Mar 2010 07:49:48 +0000 (08:49 +0100)]
Fix widthspec.h dependency
Vladimir 'phcoder' Serbinenko [Wed, 17 Mar 2010 07:37:48 +0000 (08:37 +0100)]
Make grub_console_real_putchar grub_console_putchar
Vladimir 'phcoder' Serbinenko [Wed, 17 Mar 2010 07:24:12 +0000 (08:24 +0100)]
Merge mainline into bidi
Vladimir 'phcoder' Serbinenko [Wed, 17 Mar 2010 07:22:45 +0000 (08:22 +0100)]
* term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
Vladimir 'phcoder' Serbinenko [Tue, 16 Mar 2010 23:23:23 +0000 (00:23 +0100)]
Fix sporadious newline
Vladimir 'phcoder' Serbinenko [Tue, 16 Mar 2010 23:18:30 +0000 (00:18 +0100)]
merge mainline into bidi
Vladimir 'phcoder' Serbinenko [Tue, 16 Mar 2010 23:16:11 +0000 (00:16 +0100)]
* video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
alpha_mask_size == 0 case.
Vladimir 'phcoder' Serbinenko [Tue, 16 Mar 2010 22:03:08 +0000 (23:03 +0100)]
Fix few memory errors
Vladimir 'phcoder' Serbinenko [Tue, 16 Mar 2010 22:02:48 +0000 (23:02 +0100)]
Don't show gfxmenu error
Vladimir 'phcoder' Serbinenko [Tue, 16 Mar 2010 21:34:13 +0000 (22:34 +0100)]
Fix junk newline on second console
Vladimir 'phcoder' Serbinenko [Tue, 16 Mar 2010 21:05:50 +0000 (22:05 +0100)]
Explicitly check that terminal is in visual UTF-8 before mirroring code