Upstream Links 2.30

This commit is contained in:
Juhani Krekelä 2024-08-26 19:03:41 +03:00
parent adc4c50290
commit 622a2d8cb9
22 changed files with 8006 additions and 5900 deletions

View file

@ -1,3 +1,17 @@
=== RELEASE 2.30 ===
Sat Jul 27 18:41:39 CEST 2024 mikulas:
Disable asynchronous DNS on Windows because of some Cygwin bug
Sun Jul 21 19:58:03 CEST 2024 mikulas:
Fix the configure script to work with GCC 14
Sun Jul 21 17:22:30 CEST 2024 mikulas:
Fix window title on kwin
=== RELEASE 2.29 ===
Thu Mar 9 19:51:20 CET 2023 Florian Weimer <fweimer@redhat.com>:

View file

@ -1,4 +1,4 @@
Links 2.29 -- How To Install
Links 2.30 -- How To Install
----------------------------
Follow this step-by-step:

View file

@ -104,10 +104,10 @@ mailto.o main.o memory.o menu.o objreq.o os_dep.o pmshell.o png.o \
sched.o select.o session.o smb.o string.o suffix.o svg.o svgalib.o \
terminal.o tiff.o types.o url.o view.o view_gr.o vms.o webp.o x.o xbm.o
@ATHEOS_GR_TRUE@links_DEPENDENCIES = atheos.o
@HAIKU_GR_TRUE@links_DEPENDENCIES = haiku.o
@JAVASCRIPT_TRUE@links_DEPENDENCIES = builtin.o context.o ipret.o \
@JAVASCRIPT_TRUE@javascr.o javascript.o md5.o md5hl.o ns.o pomocny.o \
@JAVASCRIPT_TRUE@regexp.o
@HAIKU_GR_TRUE@links_DEPENDENCIES = haiku.o
links_LDFLAGS =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)

1
bfu.c
View file

@ -536,6 +536,7 @@ static void menu_func(struct window *win, struct links_event *ev, int fwd)
int f = 1;
struct window *w1;
struct list_head *w1l;
f = f + 0; /* avoid warning */
foreachfrom(struct window, w1, w1l, win->term->windows, &win->list_entry) {
struct menu *m1;
if (w1->handler == mainmenu_func) {

222
certs.inc

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -940,11 +940,11 @@
#define PACKAGE "links"
/* Version number of package */
#define VERSION "2.29"
#define VERSION "2.30"
/* */
#define VERSION "2.29"
#define VERSION "2.30"
/* */
/* #undef HAVE_OPENMP */

35
configure vendored
View file

@ -773,7 +773,7 @@ fi
PACKAGE=links
VERSION=2.29
VERSION=2.30
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
@ -1001,7 +1001,7 @@ cat > conftest.$ac_ext << EOF
#line 1004 "configure"
#include "confdefs.h"
main(){return(0);}
int main(){return(0);}
EOF
if { (eval echo configure:1009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
@ -1260,6 +1260,7 @@ else
#line 1263 "configure"
#include "confdefs.h"
#include <ctype.h>
#include <stdlib.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
@ -2054,7 +2055,7 @@ for ac_kw in inline __inline__ __inline; do
#include "confdefs.h"
int main() {
} $ac_kw foo() {
} $ac_kw int foo() {
; return 0; }
EOF
if { (eval echo configure:2063: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
@ -2320,8 +2321,9 @@ else
#line 2323 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
main()
int main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
@ -2360,8 +2362,9 @@ else
#line 2363 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
main()
int main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
@ -2400,8 +2403,9 @@ else
#line 2403 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
main()
int main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
@ -2441,8 +2445,9 @@ else
#line 2444 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
main()
int main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
@ -6435,7 +6440,7 @@ cat > conftest.$ac_ext <<EOF
#include "confdefs.h"
int main() {
main()
int main()
; return 0; }
EOF
if { (eval echo configure:6444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
@ -7216,6 +7221,7 @@ echo "configure:7215: checking for OpenSSL" >&5
#line 7219 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#include <openssl/ssl.h>
int main() {
SSL_CTX_new((void *)0)
@ -7254,6 +7260,7 @@ echo "configure:7243: checking for OpenSSL" >&5
#line 7257 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#include <openssl/ssl.h>
int main() {
SSL_CTX_new((void *)0)
@ -8934,7 +8941,7 @@ if test "$ac_x_libraries" = NO; then
# Check for the libraries.
test -z "$x_direct_test_library" && x_direct_test_library=Xt
test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
test -z "$x_direct_test_function" && x_direct_test_function='int XtMalloc'
# See if we find them without any special options.
# Don't add to $LIBS permanently.
@ -9759,7 +9766,7 @@ cat > conftest.$ac_ext <<EOF
#include "confdefs.h"
int main() {
main()
int main()
; return 0; }
EOF
if { (eval echo configure:9760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
@ -9802,7 +9809,7 @@ cat > conftest.$ac_ext <<EOF
#include "confdefs.h"
int main() {
main()
int main()
; return 0; }
EOF
if { (eval echo configure:9803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
@ -9846,7 +9853,7 @@ cat > conftest.$ac_ext <<EOF
#include "confdefs.h"
int main() {
main()
int main()
; return 0; }
EOF
if { (eval echo configure:9847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
@ -10095,7 +10102,7 @@ cat > conftest.$ac_ext <<EOF
#include "confdefs.h"
int main() {
main()
int main()
; return 0; }
EOF
if { (eval echo configure:10096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
@ -10138,7 +10145,7 @@ cat > conftest.$ac_ext <<EOF
#include "confdefs.h"
int main() {
main()
int main()
; return 0; }
EOF
if { (eval echo configure:10139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then

View file

@ -5,7 +5,7 @@
AC_INIT(main.c)
AM_INIT_AUTOMAKE(links, 2.29)
AM_INIT_AUTOMAKE(links, 2.30)
ACLOCAL="./missing aclocal"
AUTOCONF="./missing autoconf"

View file

@ -22,8 +22,8 @@ T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW browser",
T_VERSION, "Verze",
T_VERSION_INFORMATION, "Informace o verzi",
T_LINKS_VERSION, "Verze Linksu",
T_OPERATING_SYSTEM_TYPE, "Typ operaèního systému",
T_OPERATING_SYSTEM_VERSION, "Verze operaèního systému",
T_OPERATING_SYSTEM_TYPE, "Typ systému",
T_OPERATING_SYSTEM_VERSION, "Verze systému",
T_COMPILER, "Kompilátor",
T_WORD_SIZE, "Velikost slova",
T_MEMORY, "Pamì»",

View file

@ -22,8 +22,8 @@ T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nText and graphics WWW browser",
T_VERSION, "Version",
T_VERSION_INFORMATION, "Version information",
T_LINKS_VERSION, "Links version",
T_OPERATING_SYSTEM_TYPE, "Operating system type",
T_OPERATING_SYSTEM_VERSION, "Operating system version",
T_OPERATING_SYSTEM_TYPE, "System type",
T_OPERATING_SYSTEM_VERSION, "System version",
T_COMPILER, "Compiler",
T_WORD_SIZE, "Word size",
T_MEMORY, "Memory",
@ -36,10 +36,10 @@ T_IPV6, "IPv6",
T_NOT_ENABLED_IN_SYSTEM, "Not enabled in system",
T_LOCAL_NETWORK_ONLY, "Local network only",
T_UTF8_TERMINAL, "UTF-8 terminal",
T_COMPRESSION_METHODS, "Compression methods",
T_COMPRESSION_METHODS, "Compression",
T_ENCRYPTION, "Encryption",
T_NO_CERTIFICATE_VERIFICATION, "no certificate verification",
T_GPM_MOUSE_DRIVER, "GPM mouse driver",
T_GPM_MOUSE_DRIVER, "Mouse driver",
T_XTERM_FOR_OS2, "Xterm for OS/2",
T_GRAPHICS_MODE, "Graphics mode",
T_IMAGE_LIBRARIES, "Image libraries",
@ -51,7 +51,7 @@ T_DISABLED, "Disabled",
T_THREAD, "thread",
T_THREADS, "threads",
T_THREADS5, "threads",
T_CONFIGURATION_DIRECTORY, "Configuration directory",
T_CONFIGURATION_DIRECTORY, "Home directory",
T_NONE, "None",
T_KEYS, "Keys",
T_KEYS_DESC, "ESC display menu\n^C, q, Q quit\np, l scroll up, down\n[, ] scroll left, right\nup, down select link\nH, L select top/bottom link\n-> follow link\n<-, z go back\n', x go forward\nTAB switch frames\ng go to url\nG go to url based on current url\n^G go to url based on current link\n* toggle image displaying\n^W complete URL or search string\n^B,^X,^V,^K copy, cut, paste, cut line to/from clipboard\nAlt-1 .. Alt-9 switch virtual screens (svgalib and fb)",

View file

@ -4375,8 +4375,8 @@ static_const struct translation translation_czech [] = {
{ "Verze" },
{ "Informace o verzi" },
{ "Verze Linksu" },
{ "Typ opera\350n\355ho syst\351mu" },
{ "Verze opera\350n\355ho syst\351mu" },
{ "Typ syst\351mu" },
{ "Verze syst\351mu" },
{ "Kompil\341tor" },
{ "Velikost slova" },
{ "Pam\354\273" },
@ -6550,8 +6550,8 @@ static_const struct translation translation_english [] = {
{ "Version" },
{ "Version information" },
{ "Links version" },
{ "Operating system type" },
{ "Operating system version" },
{ "System type" },
{ "System version" },
{ "Compiler" },
{ "Word size" },
{ "Memory" },
@ -6564,10 +6564,10 @@ static_const struct translation translation_english [] = {
{ "Not enabled in system" },
{ "Local network only" },
{ "UTF-8 terminal" },
{ "Compression methods" },
{ "Compression" },
{ "Encryption" },
{ "no certificate verification" },
{ "GPM mouse driver" },
{ "Mouse driver" },
{ "Xterm for OS/2" },
{ "Graphics mode" },
{ "Image libraries" },
@ -6579,7 +6579,7 @@ static_const struct translation translation_english [] = {
{ "thread" },
{ "threads" },
{ "threads" },
{ "Configuration directory" },
{ "Home directory" },
{ "None" },
{ "Keys" },
{ "ESC display menu\n^C, q, Q quit\np, l scroll up, down\n[, ] scroll left, right\nup, down select link\nH, L select top/bottom link\n-> follow link\n<-, z go back\n', x go forward\nTAB switch frames\ng go to url\nG go to url based on current url\n^G go to url based on current link\n* toggle image displaying\n^W complete URL or search string\n^B,^X,^V,^K copy, cut, paste, cut line to/from clipboard\nAlt-1 .. Alt-9 switch virtual screens (svgalib and fb)" },

View file

@ -75,19 +75,19 @@ File links.crt
File links.exe
File links-g.exe
File dll\cygwin1.dll
File c:\cygwin\bin\cygEGL-1.dll
File c:\cygwin\bin\cygGL-1.dll
File c:\cygwin\bin\cygX11-6.dll
File c:\cygwin\bin\cygX11-xcb-1.dll
File c:\cygwin\bin\cygXau-6.dll
File c:\cygwin\bin\cygXdmcp-6.dll
File c:\cygwin\bin\cygXext-6.dll
File c:\cygwin\bin\cygXrender-1.dll
File c:\cygwin\bin\cygbrotlidec-1.dll
File c:\cygwin\bin\cygbrotlicommon-1.dll
File c:\cygwin\bin\cygbz2-1.dll
File c:\cygwin\bin\cygcairo-2.dll
File c:\cygwin\bin\cygcroco-0.6-3.dll
File c:\cygwin\bin\cygcrypto-1.1.dll
File c:\cygwin\bin\cygcrypto-1.0.0.dll
File c:\cygwin\bin\cygdatrie-1.dll
File c:\cygwin\bin\cygdeflate-0.dll
File c:\cygwin\bin\cygevent-2-0-5.dll
File c:\cygwin\bin\cygexpat-1.dll
File c:\cygwin\bin\cygffi-6.dll
@ -96,6 +96,7 @@ File c:\cygwin\bin\cygfreetype-6.dll
File c:\cygwin\bin\cyggcc_s-1.dll
File c:\cygwin\bin\cyggdk_pixbuf-2.0-0.dll
File c:\cygwin\bin\cyggio-2.0-0.dll
File c:\cygwin\bin\cygglapi-0.dll
File c:\cygwin\bin\cygglib-2.0-0.dll
File c:\cygwin\bin\cyggmodule-2.0-0.dll
File c:\cygwin\bin\cyggobject-2.0-0.dll
@ -114,18 +115,16 @@ File c:\cygwin\bin\cygpcre-1.dll
File c:\cygwin\bin\cygpixman-1-0.dll
File c:\cygwin\bin\cygpng16-16.dll
File c:\cygwin\bin\cygrsvg-2-2.dll
File c:\cygwin\bin\cygssl-1.1.dll
File c:\cygwin\bin\cygssl-1.0.0.dll
File c:\cygwin\bin\cygstdc++-6.dll
File c:\cygwin\bin\cygthai-0.dll
File c:\cygwin\bin\cygtiff-6.dll
File c:\cygwin\bin\cyguuid-1.dll
File c:\cygwin\bin\cygwebp-7.dll
File c:\cygwin\bin\cygxcb-1.dll
File c:\cygwin\bin\cygxcb-glx-0.dll
File c:\cygwin\bin\cygxcb-render-0.dll
File c:\cygwin\bin\cygxcb-shm-0.dll
File c:\cygwin\bin\cygxml2-2.dll
File c:\cygwin\bin\cygz.dll
File c:\cygwin\bin\cygzstd-1.dll
;Store installation folder
WriteRegStr HKCU "Software\Links" "" $INSTDIR
@ -169,19 +168,20 @@ Delete "$INSTDIR\README"
Delete "$INSTDIR\links.crt"
Delete "$INSTDIR\links.exe"
Delete "$INSTDIR\links-g.exe"
Delete "$INSTDIR\cygwin1.dll"
Delete "$INSTDIR\cygEGL-1.dll"
Delete "$INSTDIR\cygGL-1.dll"
Delete "$INSTDIR\cygX11-6.dll"
Delete "$INSTDIR\cygX11-xcb-1.dll"
Delete "$INSTDIR\cygXau-6.dll"
Delete "$INSTDIR\cygXdmcp-6.dll"
Delete "$INSTDIR\cygXext-6.dll"
Delete "$INSTDIR\cygXrender-1.dll"
Delete "$INSTDIR\cygbrotlicommon-1.dll"
Delete "$INSTDIR\cygbrotlidec-1.dll"
Delete "$INSTDIR\cygbz2-1.dll"
Delete "$INSTDIR\cygcairo-2.dll"
Delete "$INSTDIR\cygcroco-0.6-3.dll"
Delete "$INSTDIR\cygcrypto-1.1.dll"
Delete "$INSTDIR\cygcrypto-1.0.0.dll"
Delete "$INSTDIR\cygdatrie-1.dll"
Delete "$INSTDIR\cygdeflate-0.dll"
Delete "$INSTDIR\cygevent-2-0-5.dll"
Delete "$INSTDIR\cygexpat-1.dll"
Delete "$INSTDIR\cygffi-6.dll"
@ -190,6 +190,7 @@ Delete "$INSTDIR\cygfreetype-6.dll"
Delete "$INSTDIR\cyggcc_s-1.dll"
Delete "$INSTDIR\cyggdk_pixbuf-2.0-0.dll"
Delete "$INSTDIR\cyggio-2.0-0.dll"
Delete "$INSTDIR\cygglapi-0.dll"
Delete "$INSTDIR\cygglib-2.0-0.dll"
Delete "$INSTDIR\cyggmodule-2.0-0.dll"
Delete "$INSTDIR\cyggobject-2.0-0.dll"
@ -208,19 +209,16 @@ Delete "$INSTDIR\cygpcre-1.dll"
Delete "$INSTDIR\cygpixman-1-0.dll"
Delete "$INSTDIR\cygpng16-16.dll"
Delete "$INSTDIR\cygrsvg-2-2.dll"
Delete "$INSTDIR\cygssl-1.1.dll"
Delete "$INSTDIR\cygssl-1.0.0.dll"
Delete "$INSTDIR\cygstdc++-6.dll"
Delete "$INSTDIR\cygthai-0.dll"
Delete "$INSTDIR\cygtiff-6.dll"
Delete "$INSTDIR\cyguuid-1.dll"
Delete "$INSTDIR\cygwebp-7.dll"
Delete "$INSTDIR\cygwin1.dll"
Delete "$INSTDIR\cygxcb-1.dll"
Delete "$INSTDIR\cygxcb-glx-0.dll"
Delete "$INSTDIR\cygxcb-render-0.dll"
Delete "$INSTDIR\cygxcb-shm-0.dll"
Delete "$INSTDIR\cygxml2-2.dll"
Delete "$INSTDIR\cygz.dll"
Delete "$INSTDIR\cygzstd-1.dll"
Delete "$INSTDIR\.links\*"
RMDir "$INSTDIR\.links"

View file

@ -1,7 +1,7 @@
<WARPIN>
<HEAD>
<PCK INDEX="1"
PACKAGEID="Mikulas Patocka\Links\Base package\2\29"
PACKAGEID="Mikulas Patocka\Links\Base package\2\30"
TARGET="?:\Links"
SELECT
TITLE="Links"

View file

@ -85,14 +85,15 @@ File c:\cygwin64\bin\cygbrotlicommon-1.dll
File c:\cygwin64\bin\cygbz2-1.dll
File c:\cygwin64\bin\cygcairo-2.dll
File c:\cygwin64\bin\cygcroco-0.6-3.dll
File c:\cygwin64\bin\cygcrypto-1.1.dll
File c:\cygwin64\bin\cygcrypto-3.dll
File c:\cygwin64\bin\cygdatrie-1.dll
File c:\cygwin64\bin\cygdeflate-0.dll
File c:\cygwin64\bin\cygexpat-1.dll
File c:\cygwin64\bin\cygevent-2-1-7.dll
File c:\cygwin64\bin\cygffi-6.dll
File c:\cygwin64\bin\cygffi-8.dll
File c:\cygwin64\bin\cygfontconfig-1.dll
File c:\cygwin64\bin\cygfreetype-6.dll
File c:\cygwin64\bin\cygfribidi-0.dll
File c:\cygwin64\bin\cyggcc_s-seh-1.dll
File c:\cygwin64\bin\cyggdk_pixbuf-2.0-0.dll
File c:\cygwin64\bin\cyggio-2.0-0.dll
@ -115,7 +116,7 @@ File c:\cygwin64\bin\cygpixman-1-0.dll
File c:\cygwin64\bin\cygpng16-16.dll
File c:\cygwin64\bin\cygrsvg-2-2.dll
File c:\cygwin64\bin\cygsharpyuv-0.dll
File c:\cygwin64\bin\cygssl-1.1.dll
File c:\cygwin64\bin\cygssl-3.dll
File c:\cygwin64\bin\cygstdc++-6.dll
File c:\cygwin64\bin\cygthai-0.dll
File c:\cygwin64\bin\cygtiff-7.dll
@ -170,6 +171,7 @@ Delete "$INSTDIR\README"
Delete "$INSTDIR\links.crt"
Delete "$INSTDIR\links.exe"
Delete "$INSTDIR\links-g.exe"
Delete "$INSTDIR\cygwin1.dll"
Delete "$INSTDIR\cygX11-6.dll"
Delete "$INSTDIR\cygXau-6.dll"
Delete "$INSTDIR\cygXdmcp-6.dll"
@ -180,14 +182,15 @@ Delete "$INSTDIR\cygbrotlidec-1.dll"
Delete "$INSTDIR\cygbz2-1.dll"
Delete "$INSTDIR\cygcairo-2.dll"
Delete "$INSTDIR\cygcroco-0.6-3.dll"
Delete "$INSTDIR\cygcrypto-1.1.dll"
Delete "$INSTDIR\cygcrypto-3.dll"
Delete "$INSTDIR\cygdatrie-1.dll"
Delete "$INSTDIR\cygdeflate-0.dll"
Delete "$INSTDIR\cygevent-2-1-7.dll"
Delete "$INSTDIR\cygexpat-1.dll"
Delete "$INSTDIR\cygffi-6.dll"
Delete "$INSTDIR\cygffi-8.dll"
Delete "$INSTDIR\cygfontconfig-1.dll"
Delete "$INSTDIR\cygfreetype-6.dll"
Delete "$INSTDIR\cygfribidi-0.dll"
Delete "$INSTDIR\cyggcc_s-seh-1.dll"
Delete "$INSTDIR\cyggdk_pixbuf-2.0-0.dll"
Delete "$INSTDIR\cyggio-2.0-0.dll"
@ -210,13 +213,12 @@ Delete "$INSTDIR\cygpixman-1-0.dll"
Delete "$INSTDIR\cygpng16-16.dll"
Delete "$INSTDIR\cygrsvg-2-2.dll"
Delete "$INSTDIR\cygsharpyuv-0.dll"
Delete "$INSTDIR\cygssl-1.1.dll"
Delete "$INSTDIR\cygssl-3.dll"
Delete "$INSTDIR\cygstdc++-6.dll"
Delete "$INSTDIR\cygthai-0.dll"
Delete "$INSTDIR\cygtiff-7.dll"
Delete "$INSTDIR\cyguuid-1.dll"
Delete "$INSTDIR\cygwebp-7.dll"
Delete "$INSTDIR\cygwin1.dll"
Delete "$INSTDIR\cygxcb-1.dll"
Delete "$INSTDIR\cygxcb-render-0.dll"
Delete "$INSTDIR\cygxcb-shm-0.dll"

View file

@ -90,7 +90,7 @@ static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; }
static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; }
#define NEWLINE "\r\n"
/*#define NO_ASYNC_LOOKUP*/
#define NO_ASYNC_LOOKUP /* Cygwin 3.5.3 has some bug that async lookup doesn't work when started from a detached thread */
#define SYSTEM_ID SYS_WIN_32
#define SYSTEM_NAME "Win32"
#define DEFAULT_SHELL "cmd.exe"

View file

@ -123,10 +123,14 @@ LC_ALL=
.
/DELETE1/-1,/DELETE1/d
/DELETE2/-1,/DELETE2/d
,s/^main/int main/
,s/XtMalloc/'int XtMalloc'/
,s/foo()/int foo()/
w
q
EOS
sed -i '/^#include <stdio.h>/a#include <stdlib.h>' configure
sed -i '/^#include <ctype.h>/a#include <stdlib.h>' configure
else
exit
fi

View file

@ -85,7 +85,7 @@ void add_bytes_to_str(unsigned char **s, int *l, unsigned char *a, size_t ll)
(defined(__ARM_ARCH) && __ARM_ARCH < 5) || \
(defined(__sparc__) && (!defined(__VIS__) || __VIS__ < 0x300)) ||\
defined(__hppa) || \
defined(__riscv) || \
(defined(__riscv) && !defined(__riscv_zbb)) || \
defined(__sh__))
if (!(sizeof(unsigned) & (sizeof(unsigned) - 1))) {
new_length = 2U << ((sizeof(unsigned) * 8 - 1)

1537
suffix.inc

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -969,6 +969,7 @@ static void redraw_screen(struct terminal *term)
int l = 0;
int print_next = 0;
struct term_spec *s;
n_chars = n_chars + 0; /* avoid warning */
NO_GFX;
if (!term->dirty || (term->master && is_blocked())) return;
a = init_str();

119
x.c
View file

@ -217,13 +217,15 @@ static GC x_normal_gc = 0, x_copy_gc = 0, x_drawbitmap_gc = 0, x_scroll_gc = 0;
static long x_normal_gc_color;
static struct rect x_scroll_gc_rect;
static Colormap x_default_colormap, x_colormap;
static Atom x_delete_window_atom, x_wm_protocols_atom, x_sel_atom, x_targets_atom, x_utf8_string_atom;
static Atom x_delete_window_atom, x_wm_protocols_atom, x_sel_atom, x_targets_atom, x_utf8_string_atom, x__net_supporting_wm_check, x__net_wm_name;
static Pixmap x_icon = 0;
#ifdef X_INPUT_METHOD
static XIM xim = NULL;
#endif
static int prefer_utf8_window_title;
extern struct graphics_driver x_driver;
static unsigned char *x_driver_param = NULL;
@ -1526,6 +1528,49 @@ static void x_process_events(void *data)
#endif
}
static unsigned_char_p x_get_property_string(Window w, Atom prop, Atom type, Bool del)
{
unsigned_char_p buffer;
unsigned long pty_size, pty_items;
int pty_format, ret;
Atom pty_type;
/* Get size and type of property */
ret = XGetWindowProperty(
x_display,
w,
prop,
0,
0,
False,
AnyPropertyType,
&pty_type,
&pty_format,
&pty_items,
&pty_size,
&buffer);
/*debug("1: %d %d %d %ld %ld %p", ret, pty_type, pty_format, pty_items, pty_size, buffer);*/
if (ret != Success || !buffer) return NULL;
XFree(buffer);
ret = XGetWindowProperty(
x_display,
w,
prop,
0,
(long)pty_size,
del,
AnyPropertyType,
&pty_type,
&pty_format,
&pty_items,
&pty_size,
&buffer
);
/*debug("2: %d %d %d %ld %ld %p", ret, pty_type, pty_format, pty_items, pty_size, buffer);*/
if (ret != Success || !buffer) return NULL;
return buffer;
}
static void x_after_fork(void)
{
@ -1809,15 +1854,40 @@ visual_found:
gcv.fill_style = FillSolid;
gcv.background = x_black_pixel;
x_delete_window_atom = XInternAtom(x_display,"WM_DELETE_WINDOW", False);
x_wm_protocols_atom = XInternAtom(x_display,"WM_PROTOCOLS", False);
x_delete_window_atom = XInternAtom(x_display, "WM_DELETE_WINDOW", False);
x_wm_protocols_atom = XInternAtom(x_display, "WM_PROTOCOLS", False);
x_sel_atom = XInternAtom(x_display, "SEL_PROP", False);
x_targets_atom = XInternAtom(x_display, "TARGETS", False);
x_utf8_string_atom = XInternAtom(x_display, "UTF8_STRING", False);
x__net_supporting_wm_check = XInternAtom(x_display, "_NET_SUPPORTING_WM_CHECK", False);
x__net_wm_name = XInternAtom(x_display, "_NET_WM_NAME", False);
if (x_have_palette) win_attr.colormap = x_colormap;
else win_attr.colormap = x_default_colormap;
prefer_utf8_window_title = 0;
#if defined(HAVE_XSUPPORTSLOCALE) && defined(HAVE_XMBTEXTLISTTOTEXTPROPERTY) && X_HAVE_UTF8_STRING
{
unsigned_char_p buffer;
Window win;
buffer = x_get_property_string(x_root_window, x__net_supporting_wm_check, XA_WINDOW, False);
if (!buffer)
goto skip_wm_name;
win = *(Window *)buffer;
XFree(buffer);
x_prepare_for_failure(X_GetProperty);
buffer = x_get_property_string(win, x__net_wm_name, AnyPropertyType, False);
if (x_test_for_failure())
goto skip_wm_name;
if (!buffer)
goto skip_wm_name;
if (!strcasecmp(cast_const_char buffer, "kwin"))
prefer_utf8_window_title = 1;
XFree(buffer);
}
skip_wm_name:
#endif
fake_window = XCreateWindow(
x_display,
x_root_window,
@ -2751,7 +2821,7 @@ retry_encode_ascii:
if (XSupportsLocale()) {
ret = XmbTextListToTextProperty(x_display, &xx_str, 1, XStdICCTextStyle, &windowName);
#ifdef X_HAVE_UTF8_STRING
if (ret > 0) {
if (ret > 0 || (!ret && prefer_utf8_window_title)) {
XFree(windowName.value);
ret = XmbTextListToTextProperty(x_display, &xx_str, 1, XUTF8StringStyle, &windowName);
if (ret < 0) {
@ -2916,48 +2986,13 @@ static unsigned char *x_get_clipboard_text(void)
}
if (event.xselection.property) {
unsigned_char_p buffer;
unsigned long pty_size, pty_items;
int pty_format, ret;
Atom pty_type;
if (event.xselection.target != type_atom) goto no_new_sel;
if (event.xselection.property != x_sel_atom) goto no_new_sel;
/* Get size and type of property */
ret = XGetWindowProperty(
x_display,
fake_window,
event.xselection.property,
0,
0,
False,
AnyPropertyType,
&pty_type,
&pty_format,
&pty_items,
&pty_size,
&buffer);
if (ret != Success) goto no_new_sel;
XFree(buffer);
ret = XGetWindowProperty(
x_display,
fake_window,
event.xselection.property,
0,
(long)pty_size,
True,
AnyPropertyType,
&pty_type,
&pty_format,
&pty_items,
&pty_size,
&buffer
);
if (ret != Success) goto no_new_sel;
pty_size = (pty_format>>3) * pty_items;
buffer = x_get_property_string(fake_window, event.xselection.property, True, AnyPropertyType);
if (!buffer)
goto no_new_sel;
x_clear_clipboard();
if (type_atom == x_utf8_string_atom) {