diff options
-rw-r--r-- | .Lynx.prcs_aux | 34 | ||||
-rw-r--r-- | CHANGES.new | 34 | ||||
-rw-r--r-- | LYMessages_en.h | 6 | ||||
-rw-r--r-- | Lynx.prj | 48 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTAccess.c | 8 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTFile.c | 10 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTFormat.c | 62 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTFormat.h | 2 | ||||
-rw-r--r-- | WWW/Library/Implementation/HTUtils.h | 1 | ||||
-rw-r--r-- | src/GridText.c | 2 | ||||
-rw-r--r-- | src/LYCurses.h | 17 | ||||
-rw-r--r-- | src/LYGetFile.c | 83 | ||||
-rw-r--r-- | src/LYLocal.c | 5 | ||||
-rw-r--r-- | src/LYOptions.c | 11 | ||||
-rw-r--r-- | src/LYUpload.c | 2 | ||||
-rw-r--r-- | src/LYUtils.c | 93 | ||||
-rw-r--r-- | src/UCAux.c | 4 | ||||
-rw-r--r-- | src/UCdomap.c | 56 | ||||
-rw-r--r-- | userdefs.h | 6 |
19 files changed, 319 insertions, 165 deletions
diff --git a/.Lynx.prcs_aux b/.Lynx.prcs_aux index decadb15..e941ac57 100644 --- a/.Lynx.prcs_aux +++ b/.Lynx.prcs_aux @@ -16,7 +16,7 @@ (lynx_help/keystroke_commands/xterm_help.html 1162 856833014 e/19_xterm_help 1.1) (CHANGES2-6 41847 856833014 b/0_CHANGES2-6 1.1) (WWW/Library/Implementation/HTList.h 3636 856833014 g/17_HTList.h 1.1) -(WWW/Library/Implementation/HTUtils.h 10154 862707105 g/7_HTUtils.h 1.6) +(WWW/Library/Implementation/HTUtils.h 10216 870159729 g/7_HTUtils.h 1.7) (docs/README.txt 580 856833014 e/35_README.txt 1.1) (src/LYSystem.h 211 856833014 c/38_LYSystem.h 1.1) (WWW/Library/sco/Makefile 793 856833014 f/4_Makefile 1.1) @@ -40,10 +40,10 @@ (src/chrtrans/cp1252_uni.tbl 10789 856856948 h/51_cp1252_uni 1.1) (utils/inews/config.h-dist 13461 856833014 b/51_config.h-d 1.1) (WWW/Library/Implementation/HTFTP.c 91171 868775901 h/14_HTFTP.c 1.6) -(src/GridText.c 187317 870050175 e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.4) +(src/GridText.c 187356 870159729 e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.5) (src/LYMain.c 86684 869929579 d/44_LYMain.c 1.1.2.1.1.1.1.1.1.2.2.1.1.1.1.1.1.1.1.1.1.8) (src/tcpwareshr.opt 30 856833014 d/6_tcpwareshr 1.1) -(src/LYGetFile.c 33958 869929579 d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.4) +(src/LYGetFile.c 35170 870159729 d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.1.1.2) (src/chrtrans/iso05_uni.tbl 1865 856925688 i/8_iso05_uni. 1.2) (src/chrtrans/mnem_suni.tbl 24067 856856948 h/50_mnem_suni. 1.1) (README.configure 6720 870050175 14_README.con 1.5) @@ -68,7 +68,7 @@ (lynx_help/keystroke_commands/gopher_types_help.html 1091 856833014 e/26_gopher_typ 1.1) (WWW/Library/Implementation/HTVMSUtils.h 2354 856833014 f/39_HTVMSUtils 1.1) (src/LYExtern.c 1988 868400879 39_LYExtern.c 1.5.1.1) -(LYMessages_en.h 32292 869929579 h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.5) +(LYMessages_en.h 32284 870159729 h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.1.3.2) (lynx_help/keystroke_commands/keystroke_help.html 5115 868266973 e/28_keystroke_ 1.3.1.2) (WWW/Library/umaxv-m88k/Makefile 678 856833014 e/48_Makefile 1.1) (WWW/Library/Implementation/HTBTree.c 26907 856833014 h/15_HTBTree.c 1.1) @@ -93,7 +93,7 @@ (WWW/Library/Implementation/ufc-crypt.h 2491 856833014 f/33_ufc-crypt. 1.1) (src/socketshr_tcp.opt 16 856833014 d/9_socketshr_ 1.1) (src/HTAlert.c 12383 869443761 e/4_HTAlert.c 1.1.2.3) -(src/LYUtils.c 132921 869558057 d/27_LYUtils.c 1.1.4.1.2.2.1.1.1.6.1.2.1.2) +(src/LYUtils.c 133041 870159729 d/27_LYUtils.c 1.1.4.1.2.2.1.1.1.1.1.1.1.1.4.3) (src/LYCharUtils.c 74496 869929579 c/22_LYCharUtil 1.2.1.1.2.1.2.2.1.2.1.1.1.2.1.1.1.1.1.3) (PROBLEMS 7324 868157008 h/35_PROBLEMS 1.3) (src/LYSearch.h 326 861212923 d/28_LYSearch.h 1.2) @@ -128,7 +128,7 @@ (WWW/Library/Implementation/HTStream.h 1802 856833014 g/21_HTStream.h 1.1) (src/chrtrans/build-header.com 932 868567209 c/0_build-head 1.1) (src/chrtrans/iso04_uni.tbl 1858 856925688 i/15_iso04_uni. 1.2) -(WWW/Library/Implementation/HTFormat.c 21592 856833014 h/0_HTFormat.c 1.1) +(WWW/Library/Implementation/HTFormat.c 22812 870159729 h/0_HTFormat.c 1.2) (WWW/Library/Implementation/HTUU.c 7512 860064663 g/37_HTUU.c 1.2) (WWW/Library/vms/libmake.com 6288 856833014 f/21_libmake.co 1.1) (src/chrtrans/koi8r_uni.tbl 4570 860516880 24_koi8r_uni. 1.1) @@ -139,13 +139,13 @@ (src/chrtrans/cp1250_uni.tbl 10813 856856948 h/48_cp1250_uni 1.1) (src/decc.opt 58 856833014 d/13_decc.opt 1.1) (WWW/Library/Implementation/HTStyle.h 6741 856833014 g/18_HTStyle.h 1.1) -(CHANGES.new 107737 870050175 6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.5) +(CHANGES.new 109753 870308176 6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.7) (WWW/Library/Implementation/HTMLGen.h 753 856833014 g/22_HTMLGen.h 1.1) -(WWW/Library/Implementation/HTFormat.h 10966 856833014 g/13_HTFormat.h 1.1) +(WWW/Library/Implementation/HTFormat.h 10965 870159729 g/13_HTFormat.h 1.2) (WWW/Library/Implementation/HTUU.h 964 856833014 f/43_HTUU.h 1.1) (WWW/Library/Implementation/HTWSRC.c 11119 862857695 h/20_HTWSRC.c 1.1.1.1) (src/chrtrans/UCkd.h 1425 868451907 b/20_UCkd.h 1.1) -(WWW/Library/Implementation/HTFile.c 56794 870050175 h/27_HTFile.c 1.1.3.5) +(WWW/Library/Implementation/HTFile.c 56844 870159729 h/27_HTFile.c 1.1.3.6) (src/chrtrans/mnemonic_suni.tbl 22265 868451907 b/28_mnemonic_s 1.1) (WWW/Library/vms/COPYING.LIB 25265 856833014 f/20_COPYING.LI 1.1) (src/chrtrans/MAKEW32.BAT 830 862109152 3_MAKEW32.BA 1.3) @@ -166,14 +166,14 @@ (WWW/Library/vms/descrip.mms 9051 856833014 f/22_descrip.mm 1.1) (src/LYPrint.h 304 856833014 d/7_LYPrint.h 1.1) (Makefile.old 46094 870050175 h/36_Makefile 1.1.1.1.1.1.1.2.3.4) -(WWW/Library/Implementation/HTAccess.c 36065 869443761 h/17_HTAccess.c 1.5.2.1) +(WWW/Library/Implementation/HTAccess.c 36271 870159729 h/17_HTAccess.c 1.5.2.2) (WWW/Library/Implementation/HTTelnet.h 582 856833014 g/5_HTTelnet.h 1.1) (WWW/Library/Implementation/HTAnchor.c 33169 870050175 h/6_HTAnchor.c 1.1.4.4) (utils/inews/inews.c 7996 856833014 c/2_inews.c 1.1) (src/LYReadCFG.h 219 856833014 c/41_LYReadCFG. 1.1) (docs/README.html 686 856833014 e/36_README.htm 1.1) (src/LYrcFile.c 29647 869904256 d/15_LYrcFile.c 1.1.3.6) -(src/UCAux.c 6355 869808657 b/15_UCAux.c 1.1.1.1) +(src/UCAux.c 6349 870152746 b/15_UCAux.c 1.3) (WWW/Library/Implementation/HTAccess.h 7620 860064663 g/35_HTAccess.h 1.3) (WWW/Library/Implementation/HTAtom.c 3883 869552380 h/7_HTAtom.c 1.1.2.1) (WWW/Library/Implementation/HTAAFile.c 5620 856833014 g/44_HTAAFile.c 1.1) @@ -182,7 +182,7 @@ (WWW/Library/Implementation/HTAnchor.h 13797 868224571 g/19_HTAnchor.h 1.1.2.6) (src/chrtrans/iso06_uni.tbl 1204 856856948 i/14_iso06_uni. 1.1) (src/LYrcFile.h 194 856833014 d/5_LYrcFile.h 1.1) -(src/LYUpload.c 8004 869929579 d/35_LYUpload.c 1.1.4.1.3.1.1.2) +(src/LYUpload.c 8005 870083375 d/35_LYUpload.c 1.1.4.1.3.1.1.3) (src/HTForms.h 3316 861212923 d/32_HTForms.h 1.2) (WWW/Library/Implementation/HTAtom.h 1210 856833014 g/20_HTAtom.h 1.1) (WWW/Library/Implementation/HTAAFile.h 4408 856833014 f/51_HTAAFile.h 1.1) @@ -192,7 +192,7 @@ (lynx_help/keystroke_commands/other_help.html 6511 868266973 e/22_other_help 1.4) (aclocal.m4 27576 870050175 12_aclocal.m4 1.12) (WWW/Library/Implementation/patchlevel.h 959 856833014 f/34_patchlevel 1.1) -(userdefs.h 55489 869681077 c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.4) +(userdefs.h 55768 870083375 c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.5) (TCPWARE.announce 1352 856833014 h/31_TCPWARE.an 1.1) (WWW/Library/Implementation/HTMLDTD.c 63227 869808657 h/26_HTMLDTD.c 1.1.2.7) (WWW/Library/Implementation/HTAssoc.c 1736 856833014 g/39_HTAssoc.c 1.1) @@ -290,7 +290,7 @@ (WWW/Library/Implementation/HTAuth.h 1791 856833014 f/47_HTAuth.h 1.1) (src/chrtrans/utf8_uni.tbl 936 856856948 i/7_utf8_uni.t 1.1) (WWW/Library/Implementation/HTTCP.c 28466 868567209 h/13_HTTCP.c 1.2.3.1.1.2) -(src/LYCurses.h 9972 869681077 d/22_LYCurses.h 1.1.4.1.1.1.1.5) +(src/LYCurses.h 10550 870308176 d/22_LYCurses.h 1.1.4.1.1.1.1.6) (descrip.mms 3765 868451907 e/37_descrip.mm 1.2) (WWW/Library/Implementation/HTTP.h 672 869443761 g/34_HTTP.h 1.2) (test/TestComment.html 2032 856833014 c/13_TestCommen 1.1) @@ -328,7 +328,7 @@ (WWW/Library/Implementation/HTWriter.c 3883 856833014 h/21_HTWriter.c 1.1) (lynx_help/keystroke_commands/visited_help.html 1401 856833014 e/16_visited_he 1.1) (WWW/Library/Implementation/crypt_util.c 25993 856833014 f/37_crypt_util 1.1) -(src/LYLocal.c 58273 869929579 d/46_LYLocal.c 1.2.3.4) +(src/LYLocal.c 58274 870159729 d/46_LYLocal.c 1.2.3.1.3.3) (src/LYJump.h 553 860064663 c/29_LYJump.h 1.2) (WWW/Library/Implementation/HTWriter.h 632 856833014 g/24_HTWriter.h 1.1) (CHANGES.configure 4600 870050175 15_CHANGES.co 1.1.1.6) @@ -337,7 +337,7 @@ (utils/inews/nntp.h 2530 856833014 c/1_nntp.h 1.1) (src/LYLocal.h 2561 856833014 c/37_LYLocal.h 1.1) (src/chrtrans/iso07_uni.tbl 1791 856925688 i/13_iso07_uni. 1.2) -(src/LYOptions.c 74523 869929579 d/41_LYOptions. 1.1.2.1.1.1.1.5.1.3) +(src/LYOptions.c 74522 870308176 d/41_LYOptions. 1.1.2.1.1.1.1.1.1.5) (WWW/Library/Implementation/HTNews.c 62341 869211854 h/25_HTNews.c 1.1.2.2) (WWW/Library/Implementation/HTVMS_WaisUI.h 21281 856833014 f/26_HTVMS_Wais 1.1) (src/LYNews.c 11804 869619703 d/42_LYNews.c 1.7) @@ -351,7 +351,7 @@ (WWW/Library/Implementation/HTNews.h 1150 856833014 g/9_HTNews.h 1.1) (src/LYNews.h 240 869443761 c/42_LYNews.h 1.2) (CHANGES.chartrans 8128 869904256 c/0_CHANGES.chartrans 1.9.1.4.1.1.1.1.1.4) -(src/UCdomap.c 46185 869904256 i/20_UCdomap.c 1.7) +(src/UCdomap.c 46232 870159729 b/14_UCdomap.c 1.4) (WWW/Library/Implementation/HTACL.h 3535 856833014 f/48_HTACL.h 1.1) (IBMPC-charsets.announce 7674 856833014 h/39_IBMPC-char 1.1) (WWW/Library/Implementation/HTFinger.c 11475 856833014 f/24_HTFinger.c 1.1) diff --git a/CHANGES.new b/CHANGES.new index 653123df..ffe88c06 100644 --- a/CHANGES.new +++ b/CHANGES.new @@ -10,7 +10,33 @@ README.configure), and miscellaneous other changes. Note that the 2.7 -> 2.7.1 changes (which are listed at the beginning of the current CHANGES file) are duplicated here. - KW] +1997-07-30 +* Added workaround for curses with broken handling of 8-bit acs characters + (which may be used for drawing of popup boxes) to LYCurses.h. This fixes + box characters and attributes/colors for solaris curses used with linux + console as terminal. Currently it is not automatically enabled or + configured, but can be enabled by -DBROKEN_CURSES_8BIT_ACS. - KW +* Fixed code in LYOptions.c for the case when NEVER_ALLOW_REMOTE_EXEC was + not defined and ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS was defined. - KW +1997-07-28 +* Avoid traversing the full list of anchors each time when HText_endAnchor() + is called with a non-zero anchor number, if that number corresponds to + the last anchor added to the HText structure. It is is the most common case + that HText_endAnchor() refers to the last anchor, and the only case that + could be handled correctly before FM's changes of 1997-05-13. Avoiding + the loop over the list of anchor can improve loading time significantly, + especially for large files with thousands of anchors. - KW +* Add progress display and 'z'appability for loading of local files. + They are activated only after a few hundred k bytes have been read. + Added define for HT_PARTIAL_CONTENT to HTUtils.h, used in above. + (The WWW Library 5.x uses HTTP-ish status codes like this throughout. + I find it much less confusing than -29998 and so on, and there's no + conflict in this case. - KW +* Minor LYUtils.c tweaks. - KW 1997-07-27 +* Changed code for checks in LYGetFile.c for URL schemes which should + be rejected when received as redirections, added checks for more + schemes. - FM * Rename top-level Makefile to Makefile.old (it's obsolete) - TD * Reduce top-level targets to one, 'lynx' - TD * Move comments describing DirEd to README.configure from makefile.in, @@ -20,6 +46,12 @@ file) are duplicated here. - KW] * Correct sense of autoconf'd symbol for size-change. - TD * Accommodate systems with obsolete ncurses.h in configure tests. - TD 1997-07-26 +* Changed the variable hline in LYUtils.c to hLine, so as not to conflict + with a curses function or macro. - FM +* Fixed an esoteric glitch in highlight() of LYUtils.c which could cause + the last character of a current link to receive WHEREIS search target + emphasis if it happened to be the first character of the target (though + perfection is unattainable, we should strive to achieve it :). - FM * Changed the default value for STRIP_DOTDOT_URLS (lynx.cfg) to TRUE. - KW * Made some of the additional checks introduced yesterday in LYMainLoop.c for invalid links to internal dired URLs more strict, as they probably @@ -35,7 +67,7 @@ file) are duplicated here. - KW] variable and constant names and usage, ordering of statements) to aid further comparison. The logic is still messy and needs further cleanup and simplification, but seems to do what it should. Note that this - also handles color-curses, in a (hopefully) resonable way. Command + also handles color-curses, in a (hopefully) reasonable way. Command line flags -nocolor and (if using slang) -color override a preference found in the RC file. See updated "Lynx Users Guide" file and the comments written to the RC file. diff --git a/LYMessages_en.h b/LYMessages_en.h index 1dcc2704..7a7708af 100644 --- a/LYMessages_en.h +++ b/LYMessages_en.h @@ -496,7 +496,7 @@ #define ERROR_UNCOMPRESSING_TEMP "Error uncompressing temporary file!" #define UNSUPPORTED_URL_SCHEME "Unsupported URL scheme!" #define UNSUPPORTED_DATA_URL "Unsupported data: URL! Use SHOWINFO, for now." -#define INVALID_URL_SCHEME_IN_REDIRECTION "Invalid Lynx-internal URL received from server!" +#define ILLEGAL_REDIRECTION_URL "Illegal redirection URL received from server!" #define SERVER_ASKED_FOR_REDIRECTION \ "Server asked for redirection of POST content to" #define PROCEED_GET_CANCEL "P)roceed, use G)ET or C)ancel " @@ -609,7 +609,9 @@ #define DIRED_NOVICELINE \ " C)reate D)ownload E)dit F)ull menu M)odify R)emove T)ag U)pload \n" #define CURRENT_LINK_STATUS_FAILED "Failed to obtain status of current link!" -#define INVALID_PERMIT_URL "Special URL only valid from current File Permission menu!" + +#define INVALID_PERMIT_URL \ + "Special URL only valid from current File Permission menu!" #endif /* DIRED_SUPPORT */ #ifdef USE_EXTERNALS diff --git a/Lynx.prj b/Lynx.prj index 4acf169b..f0c5e5a7 100644 --- a/Lynx.prj +++ b/Lynx.prj @@ -1,17 +1,13 @@ ;; -*- Lisp -*- (Created-By-Prcs-Version 1 2 0) (Project-Description "PRCS Project for The Lynx browser") -(Project-Version Lynx 2.7.1ac-0 43) -(Parent-Version Lynx 2.7.1ac-0 42) +(Project-Version Lynx 2.7.1ac-0 45) +(Parent-Version Lynx 2.7.1ac-0 44) -(Version-Log "first cut of reduction to single top-level target. I added configure -options for DirEd, char-trans stuff as well, and made some adjustments -to make the src/makefile work by itself (so I can do \"make -n\" in that -directory). Last-minute fix for ncurses.h vs curses.h (!). -") +(Version-Log "two small fixes") (New-Version-Log "") -(Checkin-Time "Sun, 27 Jul 1997 18:36:15 -0600") -(Checkin-Login dickey) +(Checkin-Time "Wed, 30 Jul 1997 18:16:16 -0600") +(Checkin-Login kweide) (Populate-Ignore ("\\.o$" "\\.a$" "~$" "^a.out$" "^core$" "\\.dvi$" "\\.aux$" "^\\..*_aux$" "\\.log" "\\.zip$" "^obsolete" "/obsolete" @@ -43,7 +39,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (utils/inews/README (Lynx/c/7_README 1.1 644)) (utils/inews/Manifest (Lynx/c/8_Manifest 1.1 644)) (utils/inews/Makefile (Lynx/c/9_Makefile 1.1.1.1 644) :no-keywords) - (userdefs.h (Lynx/c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.4 644)) + (userdefs.h (Lynx/c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.5 644)) (test/tabtest.html (Lynx/c/11_tabtest.ht 1.1 644)) (test/iso8859-1.html (Lynx/c/12_iso8859-1. 1.1 644)) (test/TestComment.html (Lynx/c/13_TestCommen 1.1 644)) @@ -107,7 +103,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (src/LYMainLoop.h (Lynx/d/19_LYMainLoop 1.2 644)) (src/LYStrings.h (Lynx/d/20_LYStrings. 1.1.1.4 644)) (src/LYHistory.c (Lynx/d/21_LYHistory. 1.1.2.1.4.1.1.1.1.3 644)) - (src/LYCurses.h (Lynx/d/22_LYCurses.h 1.1.4.1.1.1.1.5 644)) + (src/LYCurses.h (Lynx/d/22_LYCurses.h 1.1.4.1.1.1.1.6 644)) (src/LYSignal.h (Lynx/d/23_LYSignal.h 1.1 644)) (src/LYClean.h (Lynx/d/24_LYClean.h 1.1.2.1 644)) (src/LYGlobalDefs.h (Lynx/d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.6 644)) @@ -120,20 +116,20 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (src/HTForms.h (Lynx/d/32_HTForms.h 1.2 644)) (src/GridText.h (Lynx/d/33_GridText.h 1.1.1.1.1.3.1.1.1.1.1.2 644)) (src/LYUtils.h (Lynx/d/34_LYUtils.h 1.1.2.3 644)) - (src/LYUpload.c (Lynx/d/35_LYUpload.c 1.1.4.1.3.1.1.2 644)) + (src/LYUpload.c (Lynx/d/35_LYUpload.c 1.1.4.1.3.1.1.3 644)) (src/LYStrings.c (Lynx/d/36_LYStrings. 1.1.3.3.2.7 644)) (src/LYShowInfo.c (Lynx/d/37_LYShowInfo 1.1.2.1.2.7 644)) (src/LYSearch.c (Lynx/d/38_LYSearch.c 1.2.2.5 644)) (src/LYReadCFG.c (Lynx/d/39_LYReadCFG. 1.1.1.1.3.2.3.1.1.6 644)) (src/LYPrint.c (Lynx/d/40_LYPrint.c 1.1.1.1.1.1.1.1.1.1.1.3 644)) - (src/LYOptions.c (Lynx/d/41_LYOptions. 1.1.2.1.1.1.1.5.1.3 644)) + (src/LYOptions.c (Lynx/d/41_LYOptions. 1.1.2.1.1.1.1.1.1.5 644)) (src/LYNews.c (Lynx/d/42_LYNews.c 1.7 644)) (src/LYMainLoop.c (Lynx/d/43_LYMainLoop 1.2.4.2.2.1.2.6.1.2.1.1.1.1.1.1.1.1.1.1.1.4 644)) (src/LYMain.c (Lynx/d/44_LYMain.c 1.1.2.1.1.1.1.1.1.2.2.1.1.1.1.1.1.1.1.1.1.8 644)) (src/LYMail.c (Lynx/d/45_LYMail.c 1.1.1.1.1.1.3.6 644)) - (src/LYLocal.c (Lynx/d/46_LYLocal.c 1.2.3.4 644)) + (src/LYLocal.c (Lynx/d/46_LYLocal.c 1.2.3.1.3.3 644)) (src/LYJump.c (Lynx/d/47_LYJump.c 1.3 644)) - (src/LYGetFile.c (Lynx/d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.4 644)) + (src/LYGetFile.c (Lynx/d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.1.1.2 644)) (src/LYForms.c (Lynx/d/49_LYForms.c 1.1.4.1.2.1.1.1.1.4 644)) (src/LYEdit.c (Lynx/d/50_LYEdit.c 1.1.2.1.1.2 644)) @@ -142,7 +138,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (src/HTML.c (Lynx/e/2_HTML.c 1.1.4.1.1.1.1.2.1.4.1.2.1.3.1.2.1.2.2.3 644)) (src/HTInit.c (Lynx/e/3_HTInit.c 1.2.1.2 644)) (src/HTAlert.c (Lynx/e/4_HTAlert.c 1.1.2.3 644)) - (src/GridText.c (Lynx/e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.4 644)) + (src/GridText.c (Lynx/e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.5 644)) (src/descrip.mms (Lynx/e/6_descrip.mm 1.2 644)) (samples/jumpsVMS.html (Lynx/e/7_jumpsVMS.h 1.1 644)) (samples/jumpsUnix.html (Lynx/e/8_jumpsUnix. 1.1 644)) @@ -248,13 +244,13 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (WWW/Library/Implementation/HTWAIS.h (Lynx/g/4_HTWAIS.h 1.1 644)) (WWW/Library/Implementation/HTTelnet.h (Lynx/g/5_HTTelnet.h 1.1 644)) (WWW/Library/Implementation/HText.h (Lynx/g/6_HText.h 1.3 644)) - (WWW/Library/Implementation/HTUtils.h (Lynx/g/7_HTUtils.h 1.6 644)) + (WWW/Library/Implementation/HTUtils.h (Lynx/g/7_HTUtils.h 1.7 644)) (WWW/Library/Implementation/HTGopher.h (Lynx/g/8_HTGopher.h 1.1 644)) (WWW/Library/Implementation/HTNews.h (Lynx/g/9_HTNews.h 1.1 644)) (WWW/Library/Implementation/HTHistory.h (Lynx/g/10_HTHistory. 1.1 644)) (WWW/Library/Implementation/HTMIME.h (Lynx/g/11_HTMIME.h 1.2 644)) (WWW/Library/Implementation/HTInit.h (Lynx/g/12_HTInit.h 1.1 644)) - (WWW/Library/Implementation/HTFormat.h (Lynx/g/13_HTFormat.h 1.1 644)) + (WWW/Library/Implementation/HTFormat.h (Lynx/g/13_HTFormat.h 1.2 644)) (WWW/Library/Implementation/HTRules.h (Lynx/g/14_HTRules.h 1.1 644)) (WWW/Library/Implementation/HTAlert.h (Lynx/g/15_HTAlert.h 1.2 644)) (WWW/Library/Implementation/HTString.h (Lynx/g/16_HTString.h 1.1 644)) @@ -293,7 +289,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (WWW/Library/Implementation/HTHistory.c (Lynx/g/49_HTHistory. 1.1 644)) (WWW/Library/Implementation/HTMIME.c (Lynx/g/50_HTMIME.c 1.1.2.2.1.1.1.2 644)) (WWW/Library/Implementation/HTInit.c (Lynx/g/51_HTInit.c 1.1 644)) - (WWW/Library/Implementation/HTFormat.c (Lynx/h/0_HTFormat.c 1.1 644)) + (WWW/Library/Implementation/HTFormat.c (Lynx/h/0_HTFormat.c 1.2 644)) (WWW/Library/Implementation/HTRules.c (Lynx/h/1_HTRules.c 1.1 644)) (WWW/Library/Implementation/HTAlert.c (Lynx/h/2_HTAlert.c 1.2 644)) (WWW/Library/Implementation/HTString.c (Lynx/h/3_HTString.c 1.1 644)) @@ -310,7 +306,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (WWW/Library/Implementation/HTFTP.c (Lynx/h/14_HTFTP.c 1.6 644)) (WWW/Library/Implementation/HTBTree.c (Lynx/h/15_HTBTree.c 1.1 644)) (WWW/Library/Implementation/HTTP.c (Lynx/h/16_HTTP.c 1.1.1.1.1.1.1.1.1.3 644)) - (WWW/Library/Implementation/HTAccess.c (Lynx/h/17_HTAccess.c 1.5.2.1 644)) + (WWW/Library/Implementation/HTAccess.c (Lynx/h/17_HTAccess.c 1.5.2.2 644)) (WWW/Library/Implementation/HTParse.c (Lynx/h/18_HTParse.c 1.3 644)) (WWW/Library/Implementation/tcp.h (Lynx/h/19_tcp.h 1.8 644)) (WWW/Library/Implementation/HTWSRC.c (Lynx/h/20_HTWSRC.c 1.1.1.1 644)) @@ -320,7 +316,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (WWW/Library/Implementation/HTTelnet.c (Lynx/h/24_HTTelnet.c 1.4 644)) (WWW/Library/Implementation/HTNews.c (Lynx/h/25_HTNews.c 1.1.2.2 644)) (WWW/Library/Implementation/HTMLDTD.c (Lynx/h/26_HTMLDTD.c 1.1.2.7 644)) - (WWW/Library/Implementation/HTFile.c (Lynx/h/27_HTFile.c 1.1.3.5 644)) + (WWW/Library/Implementation/HTFile.c (Lynx/h/27_HTFile.c 1.1.3.6 644)) (WWW/Library/Implementation/HTAuth.c (Lynx/h/28_HTAuth.c 1.1 644)) (VMSWAIS.announce (Lynx/h/29_VMSWAIS.an 1.1 644)) (VMSPrint.com (Lynx/h/30_VMSPrint.c 1.1 644)) @@ -330,7 +326,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (README (Lynx/h/34_README 1.1 644)) (PROBLEMS (Lynx/h/35_PROBLEMS 1.3 644)) (Makefile.old (Lynx/h/36_Makefile 1.1.1.1.1.1.1.2.3.4 644)) - (LYMessages_en.h (Lynx/h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.5 644)) + (LYMessages_en.h (Lynx/h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.1.3.2 644)) (INSTALLATION (Lynx/h/38_INSTALLATI 1.1 644)) (IBMPC-charsets.announce (Lynx/h/39_IBMPC-char 1.1 644)) (FM.announce (Lynx/h/40_FM.announc 1.1 644)) @@ -351,7 +347,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (CHANGES.chartrans (Lynx/c/0_CHANGES.chartrans 1.9.1.4.1.1.1.1.1.4 644)) (README.chartrans (Lynx/d/0_README.chartrans 1.6 644)) (src/UCdomap.h (Lynx/b/0_UCdomap.h 1.2 644)) - (src/UCAux.c (Lynx/b/15_UCAux.c 1.1.1.1 644)) + (src/UCAux.c (Lynx/b/15_UCAux.c 1.3 644)) (src/UCAuto.h (Lynx/b/16_UCAuto.h 1.1 644)) (src/UCAuto.c (Lynx/b/17_UCAuto.c 1.1 644)) (src/chrtrans/cp1250_uni.tbl (Lynx/h/48_cp1250_uni 1.1 644)) @@ -378,7 +374,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). (src/chrtrans/iso02_uni.tbl (Lynx/i/17_iso02_uni. 1.3 644)) (src/chrtrans/iso01_uni.tbl (Lynx/i/18_iso01_uni. 1.2 644)) (src/chrtrans/cp850_uni.tbl (Lynx/i/19_cp850_uni. 1.2 644)) - (src/UCdomap.c (Lynx/i/20_UCdomap.c 1.7 644)) + (src/UCdomap.c (Lynx/b/14_UCdomap.c 1.4 644)) (WWW/Library/Implementation/UCDefs.h (Lynx/e/0_UCDefs.h 1.1 644)) (WWW/Library/Implementation/UCMap.h (Lynx/i/22_UCMap.h 1.3 644)) (WWW/Library/Implementation/UCAux.h (Lynx/f/0_UCAux.h 1.1 644)) @@ -394,7 +390,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). ;; Files added by populate at Mon, 03 Mar 1997 06:05:56 -0600: - (CHANGES.new (Lynx/6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.5 644)) + (CHANGES.new (Lynx/6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.7 644)) ;; Files added by populate at Tue, 11 Mar 1997 04:22:39 -0600: @@ -445,7 +441,7 @@ directory). Last-minute fix for ncurses.h vs curses.h (!). ;; Files added by populate at Wed, 09 Jul 1997 05:12:01 -0600: - (src/LYUtils.c (Lynx/d/27_LYUtils.c 1.1.4.1.2.2.1.1.1.6.1.2.1.2 644)) + (src/LYUtils.c (Lynx/d/27_LYUtils.c 1.1.4.1.2.2.1.1.1.1.1.1.1.1.4.3 644)) (src/chrtrans/build-chrtrans.com (Lynx/b/22_build-chrt 1.2 644)) diff --git a/WWW/Library/Implementation/HTAccess.c b/WWW/Library/Implementation/HTAccess.c index 0c85ae52..0ebb2c17 100644 --- a/WWW/Library/Implementation/HTAccess.c +++ b/WWW/Library/Implementation/HTAccess.c @@ -831,6 +831,14 @@ PRIVATE BOOL HTLoadDocument ARGS4( } return YES; } + if (status == HT_PARTIAL_CONTENT) { + HTAlert("Loading incomplete."); + if (TRACE) { + fprintf(stderr, "HTAccess: `%s' has been accessed, partial content.\n", + full_address); + } + return YES; + } if (status == HT_NO_DATA) { if (TRACE) { diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c index a09d169d..60c71e9a 100644 --- a/WWW/Library/Implementation/HTFile.c +++ b/WWW/Library/Implementation/HTFile.c @@ -1535,6 +1535,7 @@ PUBLIC int HTLoadFile ARGS4( int len; char *cp = NULL; char *semicolon = NULL; + int status; if (HTEditable(vmsname)) { HTAtom * put = HTAtom_for("PUT"); @@ -1590,9 +1591,9 @@ PUBLIC int HTLoadFile ARGS4( *semicolon = ';'; FREE(filename); FREE(nodename); - HTParseFile(format, format_out, anchor, fp, sink); + status = HTParseFile(format, format_out, anchor, fp, sink); fclose(fp); - return HT_LOADED; + return status; } /* If successfull open */ FREE(filename); } @@ -2045,6 +2046,7 @@ open_file: if (fp) { /* Good! */ int len; char *cp = NULL; + int status; if (HTEditable(localname)) { HTAtom * put = HTAtom_for("PUT"); @@ -2085,9 +2087,9 @@ open_file: } FREE(localname); FREE(nodename); - HTParseFile(format, format_out, anchor, fp, sink); + status = HTParseFile(format, format_out, anchor, fp, sink); fclose(fp); - return HT_LOADED; + return status; } /* If succesfull open */ } /* scope of fp */ } /* local unix file system */ diff --git a/WWW/Library/Implementation/HTFormat.c b/WWW/Library/Implementation/HTFormat.c index 8fb47e10..527ae13c 100644 --- a/WWW/Library/Implementation/HTFormat.c +++ b/WWW/Library/Implementation/HTFormat.c @@ -585,11 +585,14 @@ finished: ** ** */ -PUBLIC void HTFileCopy ARGS2( +PUBLIC int HTFileCopy ARGS2( FILE *, fp, HTStream*, sink) { - HTStreamClass targetClass; + HTStreamClass targetClass; + char line[256]; + int bytes = 0, nreads = 0, nprogr = 0; + int rv = HT_OK; /* Push the data down the stream */ @@ -599,19 +602,58 @@ PUBLIC void HTFileCopy ARGS2( */ for (;;) { int status = fread(input_buffer, 1, INPUT_BUFFER_SIZE, fp); + nreads ++; if (status == 0) { /* EOF or error */ - if (ferror(fp) == 0) + if (ferror(fp) == 0) { + rv = HT_LOADED; break; + } if (TRACE) fprintf(stderr, "HTFormat: Read error, read returns %d\n", ferror(fp)); + rv = HT_PARTIAL_CONTENT; break; } (*targetClass.put_block)(sink, input_buffer, status); + + bytes += status; + if (nreads >= 100) { + /* + * Show progres messages for local files, and check for + * user interruption. + * Start doing so only after a certain number of reads + * have been done, and don't update it on every read - + * normally reading in a local file should be speedy. + */ + if (nprogr == 0) { + if (bytes < 1024000) { + sprintf(line, "Read %d bytes of data.", bytes); + } else { + sprintf(line, "Read %d KB of data. %s", + bytes/1024, + "(Press 'z' if you want to abort loading.)"); + } + HTProgress(line); + if (HTCheckForInterrupt()) { + _HTProgress ("Data transfer interrupted."); + if (bytes) + rv = HT_INTERRUPTED; + else + rv = HT_PARTIAL_CONTENT; + break; + } + nprogr++; + } else if (nprogr == 25) { + nprogr = 0; + } else { + nprogr++; + } + } } /* next bufferload */ - + + return rv; } /* Push data from a socket down a stream STRIPPING CR @@ -718,6 +760,7 @@ PUBLIC int HTParseFile ARGS5( { HTStream * stream; HTStreamClass targetClass; + int rv; stream = HTStreamStack(rep_in, format_out, @@ -744,9 +787,14 @@ PUBLIC int HTParseFile ARGS5( ** The current method smells anyway. */ targetClass = *(stream->isa); /* Copy pointers to procedures */ - HTFileCopy(fp, stream); - (*targetClass._free)(stream); - + rv = HTFileCopy(fp, stream); + if (rv == -1 || rv == HT_INTERRUPTED) + (*targetClass._abort)(stream, NULL); + else + (*targetClass._free)(stream); + + if (rv == HT_INTERRUPTED || (rv > 0 && rv != HT_LOADED)) + return HT_PARTIAL_CONTENT; return HT_LOADED; } diff --git a/WWW/Library/Implementation/HTFormat.h b/WWW/Library/Implementation/HTFormat.h index 2a9f11ab..24972f06 100644 --- a/WWW/Library/Implementation/HTFormat.h +++ b/WWW/Library/Implementation/HTFormat.h @@ -291,7 +291,7 @@ HTFileCopy: Copy a file to a stream has been generated by HTStreamStack. It is currently called by HTParseFile */ -extern void HTFileCopy PARAMS(( +extern int HTFileCopy PARAMS(( FILE* fp, HTStream* sink)); diff --git a/WWW/Library/Implementation/HTUtils.h b/WWW/Library/Implementation/HTUtils.h index 536dad08..ec013fc5 100644 --- a/WWW/Library/Implementation/HTUtils.h +++ b/WWW/Library/Implementation/HTUtils.h @@ -359,6 +359,7 @@ Sucess (>=0) and failure (<0) codes #define HT_REDIRECTING 29996 #define HT_LOADED 29997 /* Instead of a socket */ +#define HT_PARTIAL_CONTENT 206 /* Partial Content */ #define HT_INTERRUPTED -29998 #define HT_NOT_LOADED -29999 #define HT_OK 0 /* Generic success*/ diff --git a/src/GridText.c b/src/GridText.c index 433b86b2..493e66cc 100644 --- a/src/GridText.c +++ b/src/GridText.c @@ -2459,7 +2459,7 @@ PUBLIC void HText_endAnchor ARGS2( * without needing to close any anchor with an HREF * within which that link might be embedded. - FM */ - if (number <= 0) { + if (number <= 0 || text->last_anchor->number == number) { a = text->last_anchor; } else { for (a = text->first_anchor; a; a = a->next) { diff --git a/src/LYCurses.h b/src/LYCurses.h index 4a889faa..2c9d61c8 100644 --- a/src/LYCurses.h +++ b/src/LYCurses.h @@ -110,6 +110,23 @@ extern void LYsubwindow PARAMS((WINDOW * param)); #define BOXHORI '*' /* character for popup window horizontal borders */ #endif +#if defined(BROKEN_CURSES_8BIT_ACS) && defined(ALT_CHAR_SET) +#define FIX_ACS(cht_acs) ((cht_acs & 0x80) ? ((cht_acs & 0xff) | A_ALTCHARSET) : cht_acs) +#ifdef box +#undef box +#endif +#define box(win,verch,horch) \ + wborder(win,\ + FIX_ACS((verch ? verch : ACS_VLINE)),\ + FIX_ACS((verch ? verch : ACS_VLINE)),\ + FIX_ACS((horch ? horch : ACS_HLINE)),\ + FIX_ACS((horch ? horch : ACS_HLINE)),\ + FIX_ACS(ACS_ULCORNER),\ + FIX_ACS(ACS_URCORNER),\ + FIX_ACS(ACS_LLCORNER),\ + FIX_ACS(ACS_LRCORNER)) +#endif /* BROKEN_CURSES_8BIT_ACS */ + extern int LYlines; /* replaces LINES */ extern int LYcols; /* replaces COLS */ diff --git a/src/LYGetFile.c b/src/LYGetFile.c index ebc708e6..e51f714f 100644 --- a/src/LYGetFile.c +++ b/src/LYGetFile.c @@ -93,10 +93,8 @@ PUBLIC BOOLEAN getfile ARGS1( char *cp = NULL; char *temp = NULL; DocAddress WWWDoc; /* a WWW absolute doc address struct */ - int redirection_counter = 0; Try_Redirected_URL: - redirection_counter++; /* * Load the WWWDoc struct in case we need to use it. */ @@ -242,25 +240,6 @@ Try_Redirected_URL: HTAlert(UNSUPPORTED_DATA_URL); return(NULLFILE); - } else if (redirection_counter != 1 && - (url_type == LYNXDOWNLOAD_URL_TYPE || - url_type == LYNXEXEC_URL_TYPE || - url_type == LYNXPROG_URL_TYPE || - url_type == LYNXDIRED_URL_TYPE)) { - /* - * Some schemes are definitely not acceptable - * from server redirections. - kw - */ - HTAlert(INVALID_URL_SCHEME_IN_REDIRECTION); - if (LYCursesON) { - _user_message("Bad URL: %s", doc->address); - sleep(AlertSecs); - } else { - fprintf(stderr, - "Bad Redirection URL: %s", doc->address); - } - return(NULLFILE); - } else if (url_type == LYNXPRINT_URL_TYPE) { return(printfile(doc)); @@ -737,6 +716,68 @@ Try_Redirected_URL: FREE(temp); } HTMLSetCharacterHandling(current_char_set); + url_type = is_url(use_this_url_instead); + if (url_type == LYNXDOWNLOAD_URL_TYPE || + url_type == LYNXEXEC_URL_TYPE || + url_type == LYNXPROG_URL_TYPE || +#ifdef DIRED_SUPPORT + url_type == LYNXDIRED_URL_TYPE || +#endif /* DIRED_SUPPORT */ + url_type == LYNXPRINT_URL_TYPE || + url_type == LYNXHIST_URL_TYPE || + url_type == LYNXCOOKIE_URL_TYPE || + (LYValidate && + url_type != HTTP_URL_TYPE && + url_type != HTTPS_URL_TYPE) || + ((no_file_url || no_goto_file) && + url_type == FILE_URL_TYPE) || + (no_goto_lynxcgi && + url_type == LYNXCGI_URL_TYPE) || + (no_goto_cso && + url_type == CSO_URL_TYPE) || + (no_goto_finger && + url_type == FINGER_URL_TYPE) || + (no_goto_ftp && + url_type == FTP_URL_TYPE) || + (no_goto_gopher && + url_type == GOPHER_URL_TYPE) || + (no_goto_http && + url_type == HTTP_URL_TYPE) || + (no_goto_https && + url_type == HTTPS_URL_TYPE) || + (no_goto_mailto && + url_type == MAILTO_URL_TYPE) || + (no_goto_news && + url_type == NEWS_URL_TYPE) || + (no_goto_nntp && + url_type == NNTP_URL_TYPE) || + (no_goto_rlogin && + url_type == RLOGIN_URL_TYPE) || + (no_goto_snews && + url_type == SNEWS_URL_TYPE) || + (no_goto_telnet && + url_type == TELNET_URL_TYPE) || + (no_goto_tn3270 && + url_type == TN3270_URL_TYPE) || + (no_goto_wais && + url_type == WAIS_URL_TYPE)) { + /* + * Some schemes are not acceptable from + * server redirections. - KW & FM + */ + HTAlert(ILLEGAL_REDIRECTION_URL); + if (LYCursesON) { + _user_message("Illegal URL: %s", + use_this_url_instead); + sleep(AlertSecs); + } else { + fprintf(stderr, + "Illegal Redirection URL: %s", + use_this_url_instead); + } + FREE(use_this_url_instead); + return(NULLFILE); + } if (TRACE) sleep(MessageSecs); _user_message("Using %s", use_this_url_instead); diff --git a/src/LYLocal.c b/src/LYLocal.c index 3b65287f..1524d84f 100644 --- a/src/LYLocal.c +++ b/src/LYLocal.c @@ -1248,7 +1248,7 @@ form to permit %s %s.\n</Ol>\n</Form>\n", /* * Make sure we have a valid set-permission * file comparison string loaded via a previous - * call with srcpath != NULL. - kw + * call with srcpath != NULL. - KW */ if (LYValidPermitFile[0] == '\0') { if (LYCursesON) @@ -1275,7 +1275,7 @@ form to permit %s %s.\n</Ol>\n</Form>\n", /* * Make sure that the file string is the one from - * the last displayed File Permissions menu. - kw + * the last displayed File Permissions menu. - KW */ if (strcmp(destpath, LYValidPermitFile)) { if (LYCursesON) @@ -1287,6 +1287,7 @@ form to permit %s %s.\n</Ol>\n</Form>\n", destpath); return 0; } + /* * A couple of sanity tests. */ diff --git a/src/LYOptions.c b/src/LYOptions.c index 84f2f3a7..59ba4822 100644 --- a/src/LYOptions.c +++ b/src/LYOptions.c @@ -336,7 +336,7 @@ draw_options: #else addstr(local_exec_on_local_files ? "FOR LOCAL FILES ONLY" : "ALWAYS OFF "); -#endif /* NEVER_ALLOW_REMOTE_EXEC */ +#endif /* !NEVER_ALLOW_REMOTE_EXEC */ #endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */ move(LYlines-3, 2); @@ -1369,9 +1369,8 @@ draw_options: if (local_exec) { itmp = 2; } else -#else +#endif /* !NEVER_ALLOW_REMOTE_EXEC */ { -#endif /* NEVER_ALLOW_REMOTE_EXEC */ if (local_exec_on_local_files) { itmp= 1; } else { @@ -1389,7 +1388,7 @@ draw_options: #ifndef NEVER_ALLOW_REMOTE_EXEC StrAllocCopy(choices[2], "ALWAYS ON "); choices[3] = NULL; -#endif /* NEVER_ALLOW_REMOTE_EXEC */ +#endif /* !NEVER_ALLOW_REMOTE_EXEC */ if (!LYSelectPopups) { itmp = boolean_choice(itmp, L_EXEC, -1, @@ -1409,7 +1408,7 @@ draw_options: FREE(choices[1]); #ifndef NEVER_ALLOW_REMOTE_EXEC FREE(choices[2]); -#endif /* NEVER_ALLOW_REMOTE_EXEC */ +#endif /* !NEVER_ALLOW_REMOTE_EXEC */ if (!exec_frozen) { switch (itmp) { case 0: @@ -1425,7 +1424,7 @@ draw_options: local_exec = TRUE; local_exec_on_local_files = FALSE; break; -#endif /* NEVER_ALLOW_REMOTE_EXEC */ +#endif /* !NEVER_ALLOW_REMOTE_EXEC */ } /* end switch */ } response = ' '; diff --git a/src/LYUpload.c b/src/LYUpload.c index 2fd3b373..1623a414 100644 --- a/src/LYUpload.c +++ b/src/LYUpload.c @@ -218,7 +218,7 @@ cancelled: * LYUpload_options writes out the current upload choices to a * file so that the user can select printers in the same way that * they select all other links. Upload links look like: - * LYNXDIRED//UPLOAD=<#>/TO=<STRING> + * LYNXDIRED://UPLOAD=<#>/TO=<STRING> */ PUBLIC int LYUpload_options ARGS2( char **, newfile, diff --git a/src/LYUtils.c b/src/LYUtils.c index 5aef9fde..2777eeb2 100644 --- a/src/LYUtils.c +++ b/src/LYUtils.c @@ -110,7 +110,7 @@ PUBLIC void highlight ARGS3( #ifdef EXP_CHARTRANS BOOL utf_flag = (LYCharSet_UC[current_char_set].enc == UCT_ENC_UTF8); #else -#define utf_flag TRUE +#define utf_flag FALSE #endif tmp[0] = tmp[1] = tmp[2] = '\0'; @@ -211,7 +211,7 @@ PUBLIC void highlight ARGS3( tmp[1] = links[cur].hightext2[++i]; addstr(tmp); tmp[1] = '\0'; - } else { + } else { addstr(tmp); } } @@ -234,7 +234,7 @@ PUBLIC void highlight ARGS3( * our link), and with all IsSpecial characters stripped, so we * don't need to deal with them here. - FM */ - if (target && *target && links[cur].type == WWW_LINK_TYPE && + if (target && *target && (links[cur].type & WWW_LINK_TYPE) && links[cur].hightext && *links[cur].hightext && HText_getFirstTargetInLine(HTMainText, links[cur].anchor_line_num, @@ -247,7 +247,7 @@ PUBLIC void highlight ARGS3( char *data; int tlen = strlen(target); int hlen, hLen; - int hline = links[cur].ly, hoffset = links[cur].lx; + int hLine = links[cur].ly, hoffset = links[cur].lx; size_t utf_extra = 0; /* @@ -324,7 +324,7 @@ PUBLIC void highlight ARGS3( * Go to the start of the hightext and * handle its first character. - FM */ - move(hline, offset); + move(hLine, offset); tmp[0] = data[itmp]; if (utf_flag && !isascii(tmp[0])) { if ((*tmp & 0xe0) == 0xc0) { @@ -363,7 +363,7 @@ PUBLIC void highlight ARGS3( TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } tmp[1] = '\0'; written += (utf_extra + 1); @@ -382,7 +382,7 @@ PUBLIC void highlight ARGS3( TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } tmp[1] = '\0'; written += 2; @@ -396,7 +396,7 @@ PUBLIC void highlight ARGS3( TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } written++; } @@ -461,7 +461,7 @@ PUBLIC void highlight ARGS3( LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -482,7 +482,7 @@ PUBLIC void highlight ARGS3( LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -498,7 +498,7 @@ PUBLIC void highlight ARGS3( LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -588,7 +588,7 @@ highlight_hit_within_hightext: * Go to the start of the hit and * handle its first character. - FM */ - move(hline, offset); + move(hLine, offset); tmp[0] = data[itmp]; if (utf_flag && !isascii(tmp[0])) { if ((*tmp & 0xe0) == 0xc0) { @@ -621,15 +621,16 @@ highlight_hit_within_hightext: /* * Start emphasis immediately if we are making * the link non-current, or we are making it - * current but this is not the first character - * of the hightext. - FM + * current but this is not the first or last + * character of the hightext. - FM */ - if (flag != ON || offset > hoffset) { + if (flag != ON || + (offset > hoffset && data[itmp+1] != '\0')) { LYstartTargetEmphasis(); TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } tmp[1] = '\0'; written += (utf_extra + 1); @@ -642,15 +643,16 @@ highlight_hit_within_hightext: /* * Start emphasis immediately if we are making * the link non-current, or we are making it - * current but this is not the first character - * of the hightext. - FM + * current but this is not the first or last + * character of the hightext. - FM */ - if (flag != ON || offset > hoffset) { + if (flag != ON || + (offset > hoffset && data[itmp+1] != '\0')) { LYstartTargetEmphasis(); TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } tmp[1] = '\0'; written += 2; @@ -661,12 +663,13 @@ highlight_hit_within_hightext: * current but this is not the first character * of the hightext. - FM */ - if (flag != ON || offset > hoffset) { + if (flag != ON || + (offset > hoffset && data[itmp+1] != '\0')) { LYstartTargetEmphasis(); TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } written++; } @@ -728,7 +731,7 @@ highlight_hit_within_hightext: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -749,7 +752,7 @@ highlight_hit_within_hightext: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -765,7 +768,7 @@ highlight_hit_within_hightext: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -828,7 +831,7 @@ highlight_hit_within_hightext: (hoffset + hLen)) { offset = (HitOffset + offset); data = (buffer + (offset - hoffset)); - move(hline, offset); + move(hLine, offset); itmp = 0; written = 0; len = strlen(data); @@ -884,7 +887,7 @@ highlight_hit_within_hightext: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -943,7 +946,7 @@ highlight_hit_within_hightext: goto highlight_search_hightext2; } highlight_search_hightext2: - if (target && *target && links[cur].type == WWW_LINK_TYPE && + if (target && *target && (links[cur].type & WWW_LINK_TYPE) && links[cur].hightext2 && *links[cur].hightext2 && links[cur].ly < display_lines && HText_getFirstTargetInLine(HTMainText, @@ -957,7 +960,7 @@ highlight_search_hightext2: char *data; int tlen = strlen(target); int hlen, hLen; - int hline = (links[cur].ly + 1); + int hLine = (links[cur].ly + 1); int hoffset = links[cur].hightext2_offset; size_t utf_extra = 0; @@ -1029,7 +1032,7 @@ highlight_search_hightext2: * Go to the start of the hightext2 and * handle its first character. - FM */ - move(hline, offset); + move(hLine, offset); tmp[0] = data[itmp]; if (utf_flag && !isascii(tmp[0])) { if ((*tmp & 0xe0) == 0xc0) { @@ -1068,7 +1071,7 @@ highlight_search_hightext2: TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } tmp[1] = '\0'; written += (utf_extra + 1); @@ -1087,7 +1090,7 @@ highlight_search_hightext2: TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } tmp[1] = '\0'; written += 2; @@ -1101,7 +1104,7 @@ highlight_search_hightext2: TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } written++; } @@ -1166,7 +1169,7 @@ highlight_search_hightext2: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -1187,7 +1190,7 @@ highlight_search_hightext2: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -1203,7 +1206,7 @@ highlight_search_hightext2: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -1293,7 +1296,7 @@ highlight_hit_within_hightext2: * Go to the start of the hit and * handle its first character. - FM */ - move(hline, offset); + move(hLine, offset); tmp[0] = data[itmp]; if (utf_flag && !isascii(tmp[0])) { if ((*tmp & 0xe0) == 0xc0) { @@ -1334,7 +1337,7 @@ highlight_hit_within_hightext2: TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } tmp[1] = '\0'; written += (utf_extra + 1); @@ -1355,7 +1358,7 @@ highlight_hit_within_hightext2: TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } tmp[1] = '\0'; written += 2; @@ -1371,7 +1374,7 @@ highlight_hit_within_hightext2: TargetEmphasisON = TRUE; addstr(tmp); } else { - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } written++; } @@ -1433,7 +1436,7 @@ highlight_hit_within_hightext2: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -1454,7 +1457,7 @@ highlight_hit_within_hightext2: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -1470,7 +1473,7 @@ highlight_hit_within_hightext2: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } @@ -1533,7 +1536,7 @@ highlight_hit_within_hightext2: (hoffset + hLen)) { offset = (HitOffset + offset); data = (buffer + (offset - hoffset)); - move(hline, offset); + move(hLine, offset); itmp = 0; written = 0; len = strlen(data); @@ -1589,7 +1592,7 @@ highlight_hit_within_hightext2: LYstopTargetEmphasis(); TargetEmphasisON = FALSE; LYGetYX(y, offset); - move(hline, (offset + 1)); + move(hLine, (offset + 1)); } else { addstr(tmp); } diff --git a/src/UCAux.c b/src/UCAux.c index a1065489..e6d9247f 100644 --- a/src/UCAux.c +++ b/src/UCAux.c @@ -62,11 +62,11 @@ PUBLIC BOOL UCCanTranslateFromTo ARGS2( } if (!strcmp(fromname, "koi8-r")) { /* - * Will try to uses stripping of high bit... + * Will try to use stripping of high bit... */ return YES; } - + if (!strcmp(fromname, "koi8-r") || /* from cyrillic */ !strcmp(fromname, "iso-8859-5") || !strcmp(fromname, "windows-1251") || diff --git a/src/UCdomap.c b/src/UCdomap.c index fba41b45..c32044f2 100644 --- a/src/UCdomap.c +++ b/src/UCdomap.c @@ -1264,13 +1264,13 @@ PUBLIC int UCGetLYhndl_byMIME ARGS1( } else if (!strcmp(UC_MIMEcharset, "gb2312")) { return UCGetLYhndl_byMIME("iso-2022-cn"); } else if (!strcmp(UC_MIMEcharset, "euc-cn")) { - return UCGetLYhndl_byMIME("iso-2022-cn"); + return UCGetLYhndl_byMIME("iso-2022-cn"); } else if (!strcmp(UC_MIMEcharset, "windows-1252")) { /* * It's not my fault that Microsoft hasn't registered - * the name people are using... - kw + * the name people are using. - KW */ - return UCGetLYhndl_byMIME("iso-8859-1-windows-3.1-latin-1"); + return UCGetLYhndl_byMIME("iso-8859-1-windows-3.1-latin-1"); } else if (!strncmp(UC_MIMEcharset, "ibm", 3)) { CONST char * cp = UC_MIMEcharset + 3; char * cptmp = NULL; @@ -1278,7 +1278,7 @@ PUBLIC int UCGetLYhndl_byMIME ARGS1( *(cp++) && isdigit(*cp) && *(cp++) && isdigit(*cp)) { /* - * For "ibmNNN<...>", try "cpNNN<...>" if not yet found - kw + * For "ibmNNN<...>", try "cpNNN<...>" if not yet found. - KW */ StrAllocCopy(cptmp, UC_MIMEcharset + 1); cptmp[0] = 'c'; @@ -1652,30 +1652,30 @@ PRIVATE void UCcleanup_mem NOARGS PUBLIC void UCInit NOARGS { - UCreset_allocated_LYCharSets(); - atexit(UCcleanup_mem); - UCconsole_map_init(); - - UC_CHARSET_SETUP; - UC_CHARSET_SETUP_iso_8859_1; - UC_CHARSET_SETUP_iso_8859_2; - UC_CHARSET_SETUP_iso_8859_3; - UC_CHARSET_SETUP_iso_8859_4; - UC_CHARSET_SETUP_iso_8859_5; - UC_CHARSET_SETUP_iso_8859_7; - UC_CHARSET_SETUP_iso_8859_9; - UC_CHARSET_SETUP_iso_8859_10; - UC_CHARSET_SETUP_koi8_r; - - UC_CHARSET_SETUP_cp437; - UC_CHARSET_SETUP_cp850; - UC_CHARSET_SETUP_cp852; - UC_CHARSET_SETUP_windows_1250; - UC_CHARSET_SETUP_windows_1251; - UC_CHARSET_SETUP_iso_8859_1_windows_; - UC_CHARSET_SETUP_unicode_1_1_utf_8; - UC_CHARSET_SETUP_mnemonic_ascii_0; - UC_CHARSET_SETUP_mnemonic; + UCreset_allocated_LYCharSets(); + atexit(UCcleanup_mem); + UCconsole_map_init(); + + UC_CHARSET_SETUP; + UC_CHARSET_SETUP_iso_8859_1; + UC_CHARSET_SETUP_iso_8859_2; + UC_CHARSET_SETUP_iso_8859_3; + UC_CHARSET_SETUP_iso_8859_4; + UC_CHARSET_SETUP_iso_8859_5; + UC_CHARSET_SETUP_iso_8859_7; + UC_CHARSET_SETUP_iso_8859_9; + UC_CHARSET_SETUP_iso_8859_10; + UC_CHARSET_SETUP_koi8_r; + + UC_CHARSET_SETUP_cp437; + UC_CHARSET_SETUP_cp850; + UC_CHARSET_SETUP_cp852; + UC_CHARSET_SETUP_windows_1250; + UC_CHARSET_SETUP_windows_1251; + UC_CHARSET_SETUP_iso_8859_1_windows_; + UC_CHARSET_SETUP_unicode_1_1_utf_8; + UC_CHARSET_SETUP_mnemonic_ascii_0; + UC_CHARSET_SETUP_mnemonic; #ifdef NOTDEFINED UC_CHARSET_SETUP_mnem; #endif /* NOTDEFINED */ diff --git a/userdefs.h b/userdefs.h index ec3bf009..72fa9227 100644 --- a/userdefs.h +++ b/userdefs.h @@ -846,6 +846,10 @@ * LY_UMLAUT controls the 7-bit expansion of characters with dieresis or * umlaut. If defined, a digraph is displayed, e.g., auml --> ae * Otherwise, a single character is displayed, e.g., auml --> a + * Note that this is currently not supported with the chartrans code, + * or rather it doesn't have an effect if translations for a display + * character set are taken from one of the *.tbl files in src/chrtrans. + * One would have to modify the corresponding *.tbl file for this. */ #define LY_UMLAUT @@ -1246,7 +1250,7 @@ * the version definition with the Project Version on checkout. Just * ignore it. - kw */ /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */ -#define LYNX_VERSION "2.7.1ac-0.43" +#define LYNX_VERSION "2.7.1ac-0.45" /**************************************************************** * The LYMessages_en.h header defines default, English strings |