1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-11-04 08:17:17 -05:00
Commit Graph

58 Commits

Author SHA1 Message Date
Kalle Olavi Niemitalo
f6f5eeceb7 Compare screen_driver.name with strcmp, not memcmp.
screen_driver_change_hook was comparing only strlen(name) characters
and ignoring the '\0'.  To reproduce the bug in ELinks 0.11.3 and
ELinks 0.12.GIT:

- Run TERM=screen elinks.
- In another terminal, run TERM=scr elinks.  Quit this slave ELinks.
- Open the terminal options dialog and set 16 colors.
- Open the option manager and change the terminal.scr.colors option to
  1 and back to 0.
- Note that ELinks no longer displays colors.

That bug could be fixed just by using len+1 instead of len.  However,
there is also another bug: memcmp may compare the specified number of
bytes, even if some of the earlier ones differ; thus, it could in
principle read past the end of the malloc block and thereby crash
ELinks.  Using strcmp may be a little slower but I do not believe it
could become a bottleneck.
2007-05-26 21:14:50 +03:00
Kalle Olavi Niemitalo
b904464e76 Document terminal._template_.m11_hack more and add comments. 2007-05-20 16:10:27 +03:00
Kalle Olavi Niemitalo
45d1750d03 Bug 914: Don't let UTF-8 I/O affect internal representations.
Use it for the actual I/O only.  Previously, defining CONFIG_UTF8 and
enabling UTF-8 used to force many strings to the UTF-8 charset
regardless of the terminal charset option.  Now, those strings always
follow the terminal charset.  This fixes bug 914 which was caused
because _() returned strings in the terminal charset and functions
then assumed they were in UTF-8.  This reduction in the effects of
UTF-8 I/O may also simplify future testing.
2007-05-20 15:31:02 +03:00
Kalle Olavi Niemitalo
36287949a0 Bug 914: Add terminal.utf8_cp, not yet read. 2007-05-20 13:50:47 +03:00
Kalle Olavi Niemitalo
61a901969f Bug 914: Add screen_driver_opt.utf8_cp, not yet read. 2007-05-20 13:39:02 +03:00
Kalle Olavi Niemitalo
103ece2127 UTF-8, add_char_data: data can be UCS_NO_CHAR after all. 2007-05-20 10:54:02 +03:00
Kalle Olavi Niemitalo
7b701a5268 Whitespace and comments. 2007-05-19 23:45:38 +03:00
Kalle Olavi Niemitalo
2ef4c9776b UTF-8, set_screen_driver_opt: Never use frame_seqs with UTF-8 I/O. 2007-05-19 23:40:38 +03:00
Kalle Olavi Niemitalo
094096bfdc UTF-8: frame_freebsd isn't in CP437 so use a separate table for UTF-8 I/O. 2007-05-19 23:37:34 +03:00
Kalle Olavi Niemitalo
9f9ed498dd UTF-8: Comment about frame_freebsd[]. 2007-05-19 23:32:36 +03:00
Kalle Olavi Niemitalo
ff5fb6b707 UTF-8: Use frame_vt100_u even #ifdef CONFIG_UTF8.
Should perhaps have been part of the previous commit.
2007-05-19 23:26:10 +03:00
Kalle Olavi Niemitalo
1fbdc0fe37 UTF-8: Make UTF-8 I/O affect frame characters even #ifdef CONFIG_UTF8. 2007-05-19 14:50:22 +03:00
Kalle Olavi Niemitalo
5b3ec40a3b UTF-8, add_char_data: Comment about UCS_NO_CHAR. 2007-05-19 14:49:39 +03:00
Kalle Olavi Niemitalo
84b7bc3db7 UTF-8: Remove screen_driver_opt.utf8, which is no longer used. 2007-05-19 14:49:19 +03:00
Kalle Olavi Niemitalo
fc8f0f1623 UTF-8, use_utf8_io: Test driver->opt.charsets[0] even #ifdef CONFIG_UTF8.
driver->opt.utf8 is no longer read and will soon be removed.
2007-05-19 14:48:59 +03:00
Kalle Olavi Niemitalo
1eaab825c7 UTF-8: Define and set screen_driver_opt.charsets even #ifdef CONFIG_UTF8.
However, the stored values are not yet read in this commit.
2007-05-19 14:48:30 +03:00
Kalle Olavi Niemitalo
ca60a69b57 UTF-8, set_screen_driver_opt: Don't test driver->opt.utf8 after utf8_io.
They have the same value so one test will suffice.
2007-05-19 14:48:10 +03:00
Kalle Olavi Niemitalo
8369e9bd66 UTF-8, set_screen_driver_opt: Shrink #ifdef CONFIG_UTF8 regions. 2007-05-19 14:46:41 +03:00
Kalle Olavi Niemitalo
ac74e2db60 UTF-8, set_screen_driver_opt: Duplicate CONFIG_UTF8 code. 2007-05-19 14:46:19 +03:00
Kalle Olavi Niemitalo
e7eecbfa70 UTF-8: Change type of constants to struct screen_driver_opt.
We don't need a full struct screen_driver here.
2007-05-19 14:31:24 +03:00
Kalle Olavi Niemitalo
ce8096e5ec UTF-8: Leave driver->opt initialization to set_screen_driver_opt.
Don't bother to initialize driver->opt with memcpy in add_screen_driver.
2007-05-19 14:25:34 +03:00
Kalle Olavi Niemitalo
62ef1e8684 UTF-8: Rename update_screen_driver to set_screen_driver_opt. 2007-05-19 14:24:41 +03:00
Kalle Olavi Niemitalo
93974d653e UTF-8, update_screen_driver: Restore all original options. 2007-05-19 14:24:23 +03:00
Kalle Olavi Niemitalo
883920ba68 UTF-8: New struct screen_driver_opt engulfs most of struct screen_driver.
No behaviour changes yet, although padding may differ.
2007-05-19 14:24:00 +03:00
Kalle Olavi Niemitalo
609b4f652e UTF-8, update_screen_driver: First read the "charset" option. 2007-05-19 14:23:16 +03:00
Kalle Olavi Niemitalo
7a1304677a UTF-8, update_screen_driver: A small rearrangement.
This does not change the behaviour but will help later changes.
2007-05-19 14:23:00 +03:00
Kalle Olavi Niemitalo
443db69980 Don't mark undisplayed names of modules for translation.
Exclude unneeded header files.  This partially reverts commit
90980a944e, with permission.
2007-03-23 00:51:56 +02:00
Laurent MONIN
90980a944e Mark all module names for translation and include needed header files. 2007-03-21 11:01:06 +01:00
Kalle Olavi Niemitalo
44adb76799 Use add_string_to_string where applicable. 2007-03-18 20:29:08 +02:00
Kalle Olavi Niemitalo
f4709c3794 Bug 882: Replace C1 controls with spaces in UTF-8 to the terminal. 2007-01-27 11:12:22 +02:00
Kalle Olavi Niemitalo
564a6b9602 Bug 882, add_char_data: Document the charsets being used. 2007-01-27 10:25:51 +02:00
Kalle Olavi Niemitalo
5882ec0ce7 Make color256_seqs and color_true_seqs const. 2007-01-25 01:04:19 +02:00
Kalle Olavi Niemitalo
61520b9040 Make inactive screen drivers const. 2007-01-25 00:21:45 +02:00
Kalle Olavi Niemitalo
11006800b5 Make struct strings const in underline mode setup and teardown. 2007-01-25 00:11:38 +02:00
Kalle Olavi Niemitalo
c62e23c161 Make struct strings const in frame mode setup and teardown. 2007-01-25 00:09:07 +02:00
Kalle Olavi Niemitalo
8dd400d49f Make frame translation tables const. 2007-01-25 00:05:36 +02:00
Kalle Olavi Niemitalo
3b7c021254 Comment changes only (about charsets in terminals). 2007-01-24 23:11:17 +02:00
Kalle Olavi Niemitalo
c56fb7d630 Bug 871: Fall back to 16 colors if color_mode is unsupported.
There may currently be no way to select an unsupported mode,
but the next commit will change that.
2006-12-25 11:25:06 +02:00
Kalle Olavi Niemitalo
b4359e0445 Explicitly compare to COLOR_MODE_MONO where appropriate. 2006-12-25 10:27:23 +02:00
Kalle Olavi Niemitalo
9efc661384 Bug 827: Force UTF-8 I/O on if the UTF-8 charset is selected. 2006-12-09 21:13:13 +02:00
Kalle Olavi Niemitalo
92cb452a9e Rename CONFIG_UTF_8 to CONFIG_UTF8.
The configure script no longer recognizes "CONFIG_UTF_8=yes" lines
in custom features.conf files.  They will have to be changed to
"CONFIG_UTF8=yes".  This incompatibility was deemed acceptable
because no released version of ELinks supports CONFIG_UTF_8.

The --enable-utf-8 option was not renamed.
2006-09-17 16:12:47 +03:00
Kalle Olavi Niemitalo
e8462980e5 Change "utf_8" to "utf8" in most identifiers.
Suggested by Miciah on #elinks.

What was renamed:
  add_utf_8                      => add_utf8
  cp2utf_8                       => cp2utf8
  encode_utf_8                   => encode_utf8
  get_translation_table_to_utf_8 => get_translation_table_to_utf8
  goto invalid_utf_8_start_byte  => goto invalid_utf8_start_byte
  goto utf_8                     => goto utf8
  goto utf_8_select              => goto utf8_select
  terminal_interlink.utf_8       => terminal_interlink.utf8
  utf_8_to_unicode               => utf8_to_unicode

What was not renamed:
  terminal._template_.utf_8_io option, TERM_OPT_UTF_8_IO
    Compatibility with existing elinks.conf files would require an alias.
  --enable-utf-8
    Because the name of the charset is UTF-8, --enable-utf-8 looks better
    than --enable-utf8.
  CONFIG_UTF_8
    Will be renamed in a later commit.
  Unicode/utf_8.cp, table_utf_8, aliases_utf_8
    Will be renamed in a later commit.
2006-09-17 16:06:22 +03:00
Jonas Fonseca
0ae69652dd Define SCREEN_COLOR_SIZE to hold the number of bytes in screen_char->color 2006-08-20 21:24:20 +02:00
Witold Filipczyk
77d7741726 Fixed transparency in true color mode. 2006-08-20 15:19:25 +02:00
Witold Filipczyk
60544f748e Fixed issue with CONFIG_TRUE_COLOR and 16 colors mode. inline functions used
instead of macros. Still problems with transparency in true color mode.
2006-08-20 14:51:06 +02:00
Witold Filipczyk
13dc5f01ea Note about efficiency. I know that normal 16 color mode is broken (menu).
Maybe someone knows how to fix it.
2006-08-19 23:57:50 +02:00
Witold Filipczyk
4f78b0dda1 True color mode. See new konsole.
TODO: dump
2006-08-19 23:39:40 +02:00
Laurent MONIN
1136aefb71 Trim trailing whitespaces. 2006-07-27 09:51:10 +02:00
Witold Filipczyk
2a6125e3d0 Merge with utf8. src/document/plain/renderer.c replaced by utf8 version 2006-07-21 13:12:06 +02:00
Witold Filipczyk
8fa3a4c88f Use isscreensafe also for UTF-8 2006-07-20 03:42:22 +02:00