diff options
author | Thomas E. Dickey <dickey@invisible-island.net> | 2006-09-10 23:47:00 -0400 |
---|---|---|
committer | Thomas E. Dickey <dickey@invisible-island.net> | 2006-09-10 23:47:00 -0400 |
commit | 24a47fee30cfc3e2da82571f9c13c896a601a8df (patch) | |
tree | 34e6d98955850ffba8d43bc0b9bf7f8a1143f045 | |
parent | c6cec39ad0f9474e910e321e1b4d95054f5529a1 (diff) | |
download | lynx-snapshots-24a47fee30cfc3e2da82571f9c13c896a601a8df.tar.gz |
snapshot of project "lynx", label v2-8-6pre_3
-rw-r--r-- | CHANGES | 28 | ||||
-rw-r--r-- | COPYHEADER | 14 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | docs/README.metrics | 29 | ||||
-rw-r--r-- | lynx.cfg | 13 | ||||
-rw-r--r-- | makefile.msc | 21 | ||||
-rw-r--r-- | po/tr.po | 71 | ||||
-rw-r--r-- | src/LYCurses.c | 6 | ||||
-rw-r--r-- | src/LYHistory.c | 7 | ||||
-rw-r--r-- | src/LYMain.c | 2 | ||||
-rw-r--r-- | src/LYMainLoop.c | 7 | ||||
-rw-r--r-- | src/LYReadCFG.c | 3 | ||||
-rw-r--r-- | src/LYStrings.c | 4 | ||||
-rw-r--r-- | src/LYUtils.c | 39 | ||||
-rw-r--r-- | src/LYrcFile.h | 1 | ||||
-rw-r--r-- | src/UCAux.c | 8 | ||||
-rw-r--r-- | userdefs.h | 4 |
18 files changed, 191 insertions, 72 deletions
diff --git a/CHANGES b/CHANGES index 9b7fce87..2de48a70 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,30 @@ Changes since Lynx 2.8 release =============================================================================== +2006-09-10 (2.8.6pre.3) +* add NESTED_TABLES setting to lynx.cfg to allow site override of the built-in + default (see 2001-08-15 comments by TH) -TD +* update tr.po from + http://www.iro.umontreal.ca/translation/maint/lynx/ +* fix a different aspect of Debian #171312, ensuring that if the side-effect + of getfile() is unneeded, we restore the link number as well as the line + number (Debian #386561) -TD +* modify makefile.msc to allow building with slang configuration -TD +* fixes for keyboard input of slang configuration in win32 (not mingw) which + was broken in 2.8.3dev.5 -TD +* fix LYgetTableString(), making the monochome appearance with an empty ".lss" + file for color-style look like the non-color-style (Debian #386216) -TD +* fix change made to LYwaddnstr() which did not update the position in LYwin + after writing text to a subwindow. This caused some cases where the status + line would be cleared by the filler color -TD +* modify noviceline() function to account for trailing newlines in the message + text which caused the message to be displayed on the wrong lines (report + by Atsuhito Kohda) -TD +* make "lynx -version" work in the absence of ".cfg" or ".lss" files -TD +* add docs/README.metrics to support the changes to COPYHEADER -TD +* update COPYHEADER to reflect the ten years of development after release + of Lynx 2.4.2 -TD + 2006-09-03 (2.8.6pre.2) * change configure script to put the ".cfg" and ".lss" files by default in the --sysconfdir, e.g., $prefix/etc, and the help-files in lynx_doc and lynx_help @@ -44,8 +68,8 @@ Changes since Lynx 2.8 release * improve wrapping logic in LYwaddnstr() by using a derived window. This fixes a problem with wrapping of multibyte character links -TD * repair fix for Debian #171312 by ensuring that it is only invoked if the - document was not being reloaded, or popped off the history stack (report - by TH) -TD + document was not being reloaded, or popped off the history stack. See logic + for popped_doc vs LYSetNewline() in LYMainLoop.c (report by TH) -TD * add error-reporting for the PRETTYSRC_SPEC data in lynx.cfg (prompted by discussion by OpenMacNews and Thorsten Glaser) -TD * add a carriage-return in stop_curses() to work around PDCurses leaving the diff --git a/COPYHEADER b/COPYHEADER index 8c88e974..b2dda528 100644 --- a/COPYHEADER +++ b/COPYHEADER @@ -1,3 +1,17 @@ +Most of the content of the lynx release is the work of developers on the +lynx-dev mailing list, who have agreed to distribute their work under the +terms and conditions of the GNU Public License (Version 2). + +Any licensing questions should be directed to the mailing list: + + lynx-dev@nongnu.org + +or to the maintainer (Thomas E. Dickey): + + dickey@invisible-island.net + +For reference, below is the original copyright notice for Lynx (2.4.2). +------------------------------------------------------------------------------ /* Copyright (C) 1995 University of Kansas. This file is part of Lynx, a text-based WWW browser. diff --git a/configure b/configure index de0b6297..b682655e 100755 --- a/configure +++ b/configure @@ -1228,7 +1228,7 @@ fi; PACKAGE=lynx # $Format: "VERSION=$ProjectVersion$"$ -VERSION=2.8.6pre.2 +VERSION=2.8.6pre.3 test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'` diff --git a/configure.in b/configure.in index 659103a1..7b3606f8 100644 --- a/configure.in +++ b/configure.in @@ -25,7 +25,7 @@ dnl --------------------------------------------------------------------------- dnl dnl ask PRCS to plug-in the project-version for the configure-script. dnl $Format: "AC_REVISION($ProjectVersion$)"$ -AC_REVISION(2.8.6pre.2) +AC_REVISION(2.8.6pre.3) # Save the original $CFLAGS so we can distinguish whether the user set those # in the environment, or whether autoconf added -O and -g options: @@ -57,7 +57,7 @@ AC_ARG_WITH(system-type, PACKAGE=lynx dnl ask PRCS to plug-in the project-version for the packages. # $Format: "VERSION=$ProjectVersion$"$ -VERSION=2.8.6pre.2 +VERSION=2.8.6pre.3 AC_SUBST(PACKAGE) AC_SUBST(VERSION) AC_SUBST(DESTDIR) diff --git a/docs/README.metrics b/docs/README.metrics new file mode 100644 index 00000000..5c3eb365 --- /dev/null +++ b/docs/README.metrics @@ -0,0 +1,29 @@ +This is a short summary of code metrics showing how lynx has grown from +release to release. It also shows how the original codebase has +been almost completely replaced by contributors after the release of +lynx 2.4.2 in 1996. The numbers shown are for lines of text, to keep +the presentation simple. + +Release Current Original +------------------------------------------------------------------------------- + Text C-code Text C-code % Text % Code +------------------------------------------------------------------------------- +2.4.2 77210 63463 77210 63463 100 100 +2.6 112970 92869 58859 49665 52 53 +2.7.1 125723 103489 54121 45111 43 43 +2.7.2 162228 123130 48979 40655 30 33 +2.8.1 191738 133778 37286 33582 19 25 +2.8.2 227160 147485 32227 29004 14 19 +2.8.3 248646 166833 29035 26346 11 15 +2.8.4 310436 168108 28364 25751 9 15 +2.8.5 362834 167358 26900 24355 7 14 +2.8.6 395237 169885 23380 20801 5 12 + +Beginning with 2.8.6, the fraction of remaining original codebase is an +estimate, since all C source code is automatically indented using the +indent.sh script. That added 7216 lines of change since it was not possible +to completely match the hand-edited indention scheme. + +Current lynx releases contain a large amount of text other than C code. +That includes plain text, html, message libraries, custom and generated +scripts. diff --git a/lynx.cfg b/lynx.cfg index 5e0cc97d..ba08e986 100644 --- a/lynx.cfg +++ b/lynx.cfg @@ -3,10 +3,10 @@ # or Lynx_Dir:lynx.cfg (VMS) # # $Format: "#PRCS LYNX_VERSION \"$ProjectVersion$\""$ -#PRCS LYNX_VERSION "2.8.6pre.2" +#PRCS LYNX_VERSION "2.8.6pre.3" # # $Format: "#PRCS LYNX_DATE \"$ProjectDate$\""$ -#PRCS LYNX_DATE "Sun, 03 Sep 2006 16:25:39 -0700" +#PRCS LYNX_DATE "Sun, 10 Sep 2006 16:38:39 -0700" # # Definition pairs are of the form VARIABLE:DEFINITION # NO spaces are allowed between the pair items. @@ -2958,7 +2958,14 @@ COLOR:6:brightred:black # lynx tries the environment variables "LYNX_LSS" and "lynx_lss". If neither # is set, lynx uses the compiled-in value (which as noted, may be empty). # -# COLOR_STYLE: lynx.lss +#COLOR_STYLE: lynx.lss + +.h2 NESTED_TABLES +# This is an experimental feature for improving table layout. +# It is enabled by default when the COLOR_STYLE configuration is used, +# and false otherwise. +# +#NESTED_TABLES: true .h2 ASSUMED_COLOR diff --git a/makefile.msc b/makefile.msc index 735215db..201dd620 100644 --- a/makefile.msc +++ b/makefile.msc @@ -10,6 +10,7 @@ # OPT_SOCK - nonempty to build with winsock2 # OPT_SSL - nonempty to build with OpenSSL # SSL_DIR - directory containing OpenSSL +# SCREEN - name of screen-library (pdcurses) # PROGNAME - name of executable (lynx.exe) ############################################################################### @@ -24,6 +25,11 @@ WWW_DIR = WWW\Library\Implementation ETC_LIB = lib !endif +# Select a screen-library +!if "$(SCREEN)" == "" +SCREEN = pdcurses +!endif + # Enable the CS_DEFS and CS_OBJS lines if you wish to build the color-style # configuration. !if "$(OPT_CS)" != "" @@ -45,16 +51,23 @@ SSL_DEFS = /D "USE_SSL" -I "$(SSL_DIR)\include" -I"$(SSL_DIR)\include\openssl" SSL_LIBS = "$(SSL_DIR)\lib\ssleay32.lib" "$(SSL_DIR)\lib\libeay32.lib" !endif +!if "$(SCREEN)" == "pdcurses" +SCREEN_DEFS = /D "PDCURSES" /D "COLOR_CURSES" /D "FANCY_CURSES" +SCREEN_LIB = pdcurses +!else +SCREEN_DEFS = /D "USE_SLANG" +SCREEN_LIB = wslang32 +!endif + INCLUDES = \ /I "." \ /I "$(SRC_DIR)" \ /I "$(SRC_DIR)\chrtrans" \ /I "$(WWW_DIR)" \ /I "$(ETC_LIB)" -DEFS = $(CS_DEFS) $(SOCK_DEFS) $(SSL_DEFS) \ +DEFS = $(CS_DEFS) $(SOCK_DEFS) $(SSL_DEFS) $(SCREEN_DEFS) \ /D "ACCESS_AUTH" \ /D "CJK_EX" \ - /D "COLOR_CURSES" \ /D "DIRED_SUPPORT" \ /D "DISP_PARTIAL" \ /D "DOSPATH" \ @@ -62,7 +75,6 @@ DEFS = $(CS_DEFS) $(SOCK_DEFS) $(SSL_DEFS) \ /D "EXP_CMD_LOGGING" \ /D "EXP_JUSTIFY_ELTS" \ /D "EXP_NESTED_TABLES" \ - /D "FANCY_CURSES" \ /D "HAVE_KEYPAD" \ /D "LONG_LIST" \ /D "NDEBUG" \ @@ -75,7 +87,6 @@ DEFS = $(CS_DEFS) $(SOCK_DEFS) $(SSL_DEFS) \ /D "NO_UNISTD_H" \ /D "NO_UTMP" \ /D "OK_OVERRIDE" \ - /D "PDCURSES" \ /D "SH_EX" \ /D "USE_EXTERNALS" \ /D "USE_FILE_UPLOAD" \ @@ -105,7 +116,7 @@ LDFLAGS = /debug /nologo /subsystem:console /incremental:no /machine:I386 !endif LIBS = kernel32.lib user32.lib wsock32.lib /NODEFAULTLIB:libc\ - $(ETC_LIB)\pdcurses.lib $(ETC_LIB)\zlib.lib dirent.obj $(SSL_LIBS) + $(ETC_LIB)\$(SCREEN_LIB).lib $(ETC_LIB)\zlib.lib dirent.obj $(SSL_LIBS) COMPILE = $(CC) $(CFLAGS) $(INCLUDES) $(DEFS) LINK = $(LD) $(LDFLAGS) /map:lynx.map /out:$@ diff --git a/po/tr.po b/po/tr.po index 9aeb3e5e..4c41625e 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,20 +1,19 @@ -# translation of lynx-2.8.6-dev8.po to Turkish -# lynx-2.8.6-dev8.po'nun Türkçe çevirisi -# Copyright (C) 2002, 2004 Free Software Foundation, Inc. -# Eyüp Hakan Duran <hakan_duran@hotmail.com>, 2002, 2004. -# +# translation of lynx-2.8.6-dev19.po to Turkish +# lynx-2.8.6-dev19.po'nun Türkçe çevirisi +# Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. +# Eyüp Hakan Duran <hakan_duran@hotmail.com>, 2006. msgid "" msgstr "" -"Project-Id-Version: lynx-2.8.6-dev8\n" +"Project-Id-Version: lynx-2.8.6-dev19\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-08-31 18:50-0400\n" -"PO-Revision-Date: 2004-11-19 22:25+0200\n" +"PO-Revision-Date: 2006-09-10 15:30-0400\n" "Last-Translator: Eyüp Hakan Duran <hakan_duran@hotmail.com>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-9\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.3\n" +"X-Generator: KBabel 1.10.2\n" #. ****************************************************************** #. * The following definitions are for status line prompts, messages, or @@ -2552,9 +2551,9 @@ msgid "Retrying with proxy authorization information." msgstr "Vekil(proxy) yetkilendirme bilgisiyle yeniden deneniyor." #: LYMessages.c:796 -#, fuzzy, c-format +#, c-format msgid "SSL error:%s-Continue?" -msgstr "SSL hatası:makina(%s)!=sert(%s)-Devam edilsin mi?" +msgstr "SSL hatası:%s-Devam edilsin mi?" #. HTWAIS.c #: LYMessages.c:799 @@ -2847,7 +2846,8 @@ msgstr "ana soket için soket" #. * It's a symbolic link, does the user care about knowing if it is #. * symbolic? I think so since it might be a directory. #. -#: WWW/Library/Implementation/HTFTP.c:1697 WWW/Library/Implementation/HTFTP.c:2314 +#: WWW/Library/Implementation/HTFTP.c:1697 +#: WWW/Library/Implementation/HTFTP.c:2314 msgid "Symbolic Link" msgstr "Simgesel Link" @@ -3023,7 +3023,8 @@ msgstr "Adres portu geçersiz" msgid "Address length looks invalid" msgstr "Adres uzunluğu geçersiz görünüyor" -#: WWW/Library/Implementation/HTTCP.c:1581 WWW/Library/Implementation/HTTCP.c:1599 +#: WWW/Library/Implementation/HTTCP.c:1581 +#: WWW/Library/Implementation/HTTCP.c:1599 #, c-format msgid "Unable to locate remote host %s." msgstr "%s adlı karşı makina konumlandırılamıyor." @@ -3032,7 +3033,8 @@ msgstr "%s adlı karşı makina konumlandırılamıyor." #. * but not HTAlert, because typically there will be other #. * alerts from the callers. - kw #. -#: WWW/Library/Implementation/HTTCP.c:1596 WWW/Library/Implementation/HTTelnet.c:108 +#: WWW/Library/Implementation/HTTCP.c:1596 +#: WWW/Library/Implementation/HTTelnet.c:108 #, c-format msgid "Invalid hostname %s" msgstr "Geçersiz makina adı %s" @@ -3086,34 +3088,32 @@ msgstr "Bağlantı, TLS'siz tekrar deneniyor." #: WWW/Library/Implementation/HTTP.c:664 msgid "no issuer was found" -msgstr "" +msgstr "yayınlayıcı bulunamadı" #: WWW/Library/Implementation/HTTP.c:666 msgid "issuer is not a CA" -msgstr "" +msgstr "yayınlayıcı bir CA değil" #: WWW/Library/Implementation/HTTP.c:668 msgid "the certificate has no known issuer" -msgstr "" +msgstr "sertifikanın bilinen bir yayınlayıcısı yok" #: WWW/Library/Implementation/HTTP.c:670 -#, fuzzy msgid "the certificate has been revoked" -msgstr "Çerez yendi!" +msgstr "sertifika hükümsüz kılınmış" #: WWW/Library/Implementation/HTTP.c:672 msgid "the certificate is not trusted" -msgstr "" +msgstr "sertifikaya güvenilmiyor" #: WWW/Library/Implementation/HTTP.c:747 #, c-format msgid "Verified connection to %s (cert=%s)" -msgstr "" +msgstr "%1$s'e doğrulanmış bağlantı (cert=%2$s)" #: WWW/Library/Implementation/HTTP.c:771 -#, fuzzy msgid "Can't find common name in certificate" -msgstr "SSL hatası:sertifikada ortak ad bulunamadı-Devam?" +msgstr "Sertifikada ortak ad bulunamadı" #: WWW/Library/Implementation/HTTP.c:774 #, c-format @@ -3662,7 +3662,7 @@ msgstr "Dosya, bu oturum boyunca %s'den kurtarılabilir" #: src/LYCgi.c:159 #, c-format msgid "Do you want to execute \"%s\"?" -msgstr "" +msgstr "\"%s\"'i çalıştırmak ister misiniz?" #. #. * Neither the path as given nor any components examined by backing up @@ -4238,7 +4238,7 @@ msgid "" "\n" msgstr "" "\n" -"Ayarlama dosyası %s temin edilemiyor.\n" +"Ayarlama dosyası \"%s\" temin edilemiyor.\n" "\n" #: src/LYMain.c:1466 @@ -4271,7 +4271,7 @@ msgid "" "\n" msgstr "" "\n" -"Lynx dosyası %s temin edilemiyor.\n" +"Lynx dosyası \"%s\" temin edilemiyor.\n" "\n" #: src/LYMain.c:1762 @@ -4502,7 +4502,8 @@ msgid "ON" msgstr "AÇIK" #. verbose_img variable -#: src/LYOptions.c:2127 src/LYOptions.c:2132 src/LYOptions.c:2280 src/LYOptions.c:2291 +#: src/LYOptions.c:2127 src/LYOptions.c:2132 src/LYOptions.c:2280 +#: src/LYOptions.c:2291 msgid "OFF" msgstr "KAPALI" @@ -4909,9 +4910,8 @@ msgstr "Kişisel mektup adresi" #. Mail Address: INPUT #: src/LYOptions.c:3720 -#, fuzzy msgid "Password for anonymous ftp" -msgstr "'%s' adlı haber makinası için parola:" +msgstr "Anonim ftp için parola" #. Preferred media type: SELECT #: src/LYOptions.c:3725 @@ -5280,9 +5280,8 @@ msgid "Content-Length:" msgstr "İçerik Uzunluğu:" #: src/LYShowInfo.c:360 -#, fuzzy msgid "Length:" -msgstr "İçerik Uzunluğu:" +msgstr "Uzunluk:" #: src/LYShowInfo.c:365 msgid "Language:" @@ -5474,6 +5473,9 @@ msgid "" "Lynx will use the personal email address. Set anonftp_password\n" "to a different value if you choose.\n" msgstr "" +"anonftp_password ile kullanıcı Lynx'e kişisel e-posta adresini\n" +"anonim ftp için parola olarak kullanmasını bildirir. Eğer bir değer verilmezse,\n" +"Lynx kişisel e-posta adresini kullanacaktır. anonftp_password'ü başka bir değere kurmayı seçebilirsiniz.\n" #: src/LYrcFile.c:331 msgid "" @@ -5994,12 +5996,3 @@ msgstr "" "Eğer genel ayarlama dosyasını arıyorsanız - normalde lynx.cfg olarak\n" "anılır, onun farklı bir içeriği ve biçemi vardır.\n" "O, bu dosya değildir.\n" - -#~ msgid "KB" -#~ msgstr "KB" - -#~ msgid "Remove '%s' and all of its contents?" -#~ msgstr "'%s' ve tüm içeriği çıkartılsın mı?" - -#~ msgid "Remove directory and all of its contents?" -#~ msgstr "Dizin ve tüm içeriği çıkartılsın mı?" diff --git a/src/LYCurses.c b/src/LYCurses.c index cbe949e1..7f1c371a 100644 --- a/src/LYCurses.c +++ b/src/LYCurses.c @@ -711,7 +711,7 @@ char *LYgetTableString(int code) int mask = decode_mono_code(code); int second = encode_color_attr(mask); int pair = PAIR_NUMBER(second); - int mono = second & A_ATTRIBUTES; + int mono = mask & A_ATTRIBUTES; int fg = lynx_color_pairs[pair].fg; int bg = lynx_color_pairs[pair].bg; unsigned n; @@ -722,7 +722,7 @@ char *LYgetTableString(int code) if (fg == 0 && bg == 0) { fg = COLOR_WHITE; } - CTRACE((tfp, "%#x -> %#x (%d) fg=%d, bg=%d\n", mask, second, pair, fg, bg)); + CTRACE((tfp, "%#x -> %#x (mono %#x pair %d) fg=%d, bg=%d\n", mask, second, mono, pair, fg, bg)); for (n = 0; n < TABLESIZE(Mono_Attrs); ++n) { if ((Mono_Attrs[n].code & mono) != 0) { if (result != 0) @@ -1870,7 +1870,9 @@ void LYwaddnstr(WINDOW * w GCC_UNUSED, wmove(sub, y0, x0); LYwideLines = TRUE; LYwaddnstr(sub, src, len); + getyx(sub, y0, x0); delwin(sub); + wmove(LYwin, y0, x0); } LYwideLines = FALSE; diff --git a/src/LYHistory.c b/src/LYHistory.c index 0e3da111..66ec15ca 100644 --- a/src/LYHistory.c +++ b/src/LYHistory.c @@ -629,6 +629,13 @@ void LYpop_num(int number, /* assume we pop the 'doc' to show it soon... */ LYSetNewline(doc->line); /* reinitialize */ #endif /* DISP_PARTIAL */ + if (TRACE) { + CTRACE((tfp, "LYpop_num(%d)\n", number)); + CTRACE((tfp, " link %d\n", doc->link)); + CTRACE((tfp, " line %d\n", doc->line)); + CTRACE((tfp, " title %s\n", NonNull(doc->title))); + CTRACE((tfp, " address %s\n", NonNull(doc->address))); + } } } diff --git a/src/LYMain.c b/src/LYMain.c index 00498122..00c387e6 100644 --- a/src/LYMain.c +++ b/src/LYMain.c @@ -3864,7 +3864,7 @@ treated '>' as a co-terminator for double-quotes and tags" "toggles [LINK], [IMAGE] and [INLINE] comments \nwith filenames of these images" ), PARSE_FUN( - "version", 4|FUNCTION_ARG, version_fun, + "version", 1|FUNCTION_ARG, version_fun, "print Lynx version information" ), PARSE_SET( diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c index e20ebf53..226e565f 100644 --- a/src/LYMainLoop.c +++ b/src/LYMainLoop.c @@ -5224,6 +5224,7 @@ int mainloop(void) int i; int follow_col = -1, key_count = 0, last_key = 0; int tmpNewline; + DocInfo tmpDocInfo; /* "internal" means "within the same document, with certainty". It includes a * space so it cannot conflict with any (valid) "TYPE" attributes on A @@ -5547,17 +5548,23 @@ int mainloop(void) newdoc.address = temp; temp = NULL; } + tmpDocInfo = newdoc; tmpNewline = -1; getresult = getfile(&newdoc, &tmpNewline); if (!reloading && !popped_doc && (tmpNewline >= 0)) { LYSetNewline(tmpNewline); + } else { + newdoc.link = tmpDocInfo.link; } } #else /* TRACK_INTERNAL_LINKS */ + tmpDocInfo = newdoc; tmpNewline = -1; getresult = getfile(&newdoc, &tmpNewline); if (!reloading && !popped_doc && (tmpNewline >= 0)) { LYSetNewline(tmpNewline); + } else { + newdoc.link = tmpDocInfo.link; } #endif /* TRACK_INTERNAL_LINKS */ diff --git a/src/LYReadCFG.c b/src/LYReadCFG.c index ce7a758c..89fb9390 100644 --- a/src/LYReadCFG.c +++ b/src/LYReadCFG.c @@ -1390,6 +1390,9 @@ static Config_Type Config_Table [] = PARSE_ENU(RC_MULTI_BOOKMARK_SUPPORT, LYMultiBookmarks, tbl_multi_bookmarks), PARSE_PRG(RC_MV_PATH, ppMV), PARSE_SET(RC_NCR_IN_BOOKMARKS, UCSaveBookmarksInUnicode), +#ifdef EXP_NESTED_TABLES + PARSE_SET(RC_NESTED_TABLES, nested_tables), +#endif #ifndef DISABLE_NEWS PARSE_FUN(RC_NEWS_CHUNK_SIZE, news_chunk_size_fun), PARSE_FUN(RC_NEWS_MAX_CHUNK, news_max_chunk_fun), diff --git a/src/LYStrings.c b/src/LYStrings.c index cb8aa198..a40bfb0f 100644 --- a/src/LYStrings.c +++ b/src/LYStrings.c @@ -1366,7 +1366,7 @@ static void setup_vtXXX_keymap(void) INTERN_KEY( "\033OP", F1, KEY_F(1) ), INTERN_KEY( "\033[OP", F1, KEY_F(1) ), INTERN_KEY( "\033[29~", DO_KEY, KEY_F(16) ), -#if defined(USE_SLANG) && defined(__MINGW32__) +#if defined(USE_SLANG) && (defined(__WIN32__) || defined(__MINGW32__)) INTERN_KEY( "\xE0H", UPARROW, KEY_UP ), INTERN_KEY( "\xE0P", DNARROW, KEY_DOWN ), INTERN_KEY( "\xE0M", RTARROW, KEY_RIGHT ), @@ -1575,7 +1575,7 @@ static int LYgetch_for(int code) key = SLang_do_key(Keymap_List, myGetChar); if ((key == NULL) || (key->type != SLKEY_F_KEYSYM)) { -#ifdef __MINGW32__ +#if defined(__WIN32__) || defined(__MINGW32__) if ((key == NULL) && (current_sl_modifier == LKC_ISLKC)) { key = SLang_do_key(Keymap_List, myGetChar); keysym = key->f.keysym; diff --git a/src/LYUtils.c b/src/LYUtils.c index 0cfd1340..2a795d99 100644 --- a/src/LYUtils.c +++ b/src/LYUtils.c @@ -1023,17 +1023,25 @@ void LYhighlight(int flag, #endif tmp[0] = tmp[1] = tmp[2] = '\0'; - CTRACE((tfp, "LYhighlight %s %d:%s\n", - flag ? "on" : "off", cur, NONNULL(target))); - /* * Bugs in the history code might cause -1 to be sent for cur, which yields * a crash when LYstrncpy() is called with a nonsense pointer. As far as I * know, such bugs have been squashed, but if they should reappear, this * works around them. -FM */ - if (cur < 0) + if (cur < 0) { + CTRACE((tfp, "LYhighlight cur %d (bug workaround)\n", cur)); cur = 0; + } + + CTRACE((tfp, "LYhighlight %s %d [%d]:%s\n", + (flag + ? "on" + : "off"), + cur, + links[cur].anchor_number, + NONNULL(target))); + #if defined(TEXTFIELDS_MAY_NEED_ACTIVATION) && defined(INACTIVE_INPUT_STYLE_VH) if (flag == OFF) textinput_redrawn = FALSE; @@ -1272,6 +1280,7 @@ void statusline(const char *text) char buffer[MAX_LINE]; unsigned char *temp = NULL; int max_length, len, i, j; + int at_lineno; unsigned char k; char *p; char text_buff[MAX_LINE]; @@ -1399,15 +1408,16 @@ void statusline(const char *text) */ if (LYStatusLine >= 0) { if (LYStatusLine < LYlines - 1) { - LYmove(LYStatusLine, 0); + at_lineno = LYStatusLine; } else { - LYmove(LYlines - 1, 0); + at_lineno = LYlines - 1; } } else if (user_mode == NOVICE_MODE) { - LYmove(LYlines - 3, 0); + at_lineno = LYlines - 3; } else { - LYmove(LYlines - 1, 0); + at_lineno = LYlines - 1; } + LYmove(at_lineno, 0); LYclrtoeol(); if (non_empty(buffer)) { @@ -1436,6 +1446,7 @@ void statusline(const char *text) #else /* draw the status bar in the STATUS style */ { + int y, x; int a = ((strncmp(buffer, ALERT_FORMAT, ALERT_PREFIX_LEN) || !hashStyles[s_alert].name) ? s_status @@ -1447,7 +1458,10 @@ void statusline(const char *text) ((lynx_has_color && LYShowColor >= SHOW_COLOR_ON) ? (chtype) hashStyles[a].color : A_NORMAL) | ' '); - LYclrtoeol(); + LYGetYX(y, x); + if (y == at_lineno) { + LYclrtoeol(); + } if (!(lynx_has_color && LYShowColor >= SHOW_COLOR_ON)) wbkgdset(LYwin, A_NORMAL | ' '); else if (s_normal != NOSTYLE) @@ -1493,9 +1507,10 @@ void noviceline(int more_flag GCC_UNUSED) return; LYmove(LYlines - 2, 0); - /* lynx_stop_reverse(); */ LYclrtoeol(); LYaddstr(NOVICE_LINE_ONE); + + LYmove(LYlines - 1, 0); LYclrtoeol(); #if defined(DIRED_SUPPORT ) && defined(OK_OVERRIDE) if (lynx_edit_mode && !no_dired_support) @@ -1741,6 +1756,10 @@ int HTCheckForInterrupt(void) nodelay(LYwin, TRUE); c = LYgetch(); nodelay(LYwin, FALSE); +#elif defined(USE_SLANG) && defined(_WINDOWS) + if (!SLang_input_pending(0)) + return ((int) FALSE); + c = LYgetch(); #else c = LYgetch(); #endif diff --git a/src/LYrcFile.h b/src/LYrcFile.h index c39d8a37..43e29631 100644 --- a/src/LYrcFile.h +++ b/src/LYrcFile.h @@ -133,6 +133,7 @@ #define RC_MULTI_BOOKMARK_SUPPORT "multi_bookmark_support" #define RC_MV_PATH "mv_path" #define RC_NCR_IN_BOOKMARKS "ncr_in_bookmarks" +#define RC_NESTED_TABLES "nested_tables" #define RC_NEWSPOST_PROXY "newspost_proxy" #define RC_NEWSREPLY_PROXY "newsreply_proxy" #define RC_NEWS_CHUNK_SIZE "news_chunk_size" diff --git a/src/UCAux.c b/src/UCAux.c index f7114fd4..49b8692e 100644 --- a/src/UCAux.c +++ b/src/UCAux.c @@ -376,7 +376,7 @@ void UCSetBoxChars(int cset, char *map = tigetstr("acsc"); if (map != 0) { - CTRACE((tfp, "check terminal line-drawing map\n")); + CTRACE((tfp, "build terminal line-drawing map\n")); while (map[0] != 0 && map[1] != 0) { for (n = 0; n < TABLESIZE(table); ++n) { if (table[n].mapping == map[0]) { @@ -397,12 +397,14 @@ void UCSetBoxChars(int cset, if (cset == last_cset) { fix_lines = last_result; } else { + CTRACE((tfp, "check terminal line-drawing map\n")); for (n = 0; n < TABLESIZE(table); ++n) { int test = UCTransUniChar(table[n].internal, cset); if (test != table[n].external) { - CTRACE((tfp, "line-drawing map %c mismatch\n", - table[n].mapping)); + CTRACE((tfp, "line-drawing map %c mismatch (have %#x, want %#x)\n", + table[n].mapping, + test, table[n].external)); fix_lines = TRUE; break; } diff --git a/userdefs.h b/userdefs.h index be1dbfe8..07c4617d 100644 --- a/userdefs.h +++ b/userdefs.h @@ -1360,11 +1360,11 @@ * the version definition with the Project Version on checkout. Just * ignore it. - kw */ /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */ -#define LYNX_VERSION "2.8.6pre.2" +#define LYNX_VERSION "2.8.6pre.3" #define LYNX_WWW_HOME "http://lynx.isc.org/" #define LYNX_WWW_DIST "http://lynx.isc.org/current/" /* $Format: "#define LYNX_DATE \"$ProjectDate$\""$ */ -#define LYNX_DATE "Sun, 03 Sep 2006 16:25:39 -0700" +#define LYNX_DATE "Sun, 10 Sep 2006 16:38:39 -0700" #define LYNX_DATE_OFF 5 /* truncate the automatically-generated date */ #define LYNX_DATE_LEN 11 /* truncate the automatically-generated date */ |