From 4417c266784c2932ecfe5ad5fe536cddd730d38a Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Fri, 7 Nov 2025 21:47:12 +0000 Subject: [PATCH] revive git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@633 b9cfdab3-6d41-4d17-bbe4-086880011989 --- Makefile.m4 | 2 +- m4/options/opengl.m4 | 12 ++++++------ m4/toplevel/rules.m4 | 14 +++++++------- m4/util/afterdot.m4 | 11 ----------- m4/util/comma.m4 | 6 ++---- src/backend/gdi.c | 3 ++- 6 files changed, 18 insertions(+), 30 deletions(-) delete mode 100644 m4/util/afterdot.m4 diff --git a/Makefile.m4 b/Makefile.m4 index 0111944..0b24d55 100644 --- a/Makefile.m4 +++ b/Makefile.m4 @@ -36,7 +36,7 @@ new_object([src/abstract/*.c])dnl dnl new_object([external/*.c])dnl dnl -ifdef([target],[],[define([target],my_syscmd([uname -s | xargs printf '%s']))])dnl +ifdef([target],[],[define([target],esyscmd([uname -s | xargs printf '%s']))])dnl syscmd([test -f ]m4/ostype/target.m4)dnl ifelse(sysval,[0],[include(m4/ostype/target.m4)],[errprint([M4 for your target (]m4/ostype/target.m4[) was not found, please make one ])m4exit(1)dnl diff --git a/m4/options/opengl.m4 b/m4/options/opengl.m4 index 830b2b5..c4b6afe 100644 --- a/m4/options/opengl.m4 +++ b/m4/options/opengl.m4 @@ -1,9 +1,9 @@ dnl $Id$ ifdef([build_opengl],[new_object([src/widget/opengl.c])dnl -new_example([examples/gldemos/boing],[],[],gl_lib)dnl -new_example([examples/gldemos/clock],[],[],gl_lib)dnl -new_example([examples/gldemos/cube],[],[],gl_lib)dnl -new_example([examples/gldemos/gears],[],[],gl_lib)dnl -new_example([examples/gldemos/triangle],[],[],gl_lib)dnl -new_example([examples/gldemos/tripaint],[],[],gl_lib)dnl +new_example([examples/gldemos/boing],[],[],[gl_lib])dnl +new_example([examples/gldemos/clock],[],[],[gl_lib])dnl +new_example([examples/gldemos/cube],[],[],[gl_lib])dnl +new_example([examples/gldemos/gears],[],[],[gl_lib])dnl +new_example([examples/gldemos/triangle],[],[],[gl_lib])dnl +new_example([examples/gldemos/tripaint],[],[],[gl_lib])dnl ])dnl diff --git a/m4/toplevel/rules.m4 b/m4/toplevel/rules.m4 index a2e3799..0888645 100644 --- a/m4/toplevel/rules.m4 +++ b/m4/toplevel/rules.m4 @@ -5,7 +5,6 @@ include(m4/util/arg.m4)dnl include(m4/util/foreach.m4)dnl include(m4/util/comma.m4)dnl include(m4/util/default.m4)dnl -include(m4/util/afterdot.m4)dnl include(m4/util/my_syscmd.m4)dnl dnl default_define([cc],[gcc])dnl @@ -24,8 +23,9 @@ define([executable_suffix],[])dnl dnl define([library_targets],[])dnl define([library_objects],[])dnl -define([new_object],[pushdef([object])define([object],afterdots(my_syscmd([sh -c "ls -d $1"]),[object_suffix]))define([library_targets],ifelse(library_targets,[],[object],[library_targets object]))popdef([object])])dnl -define([print_library_targets],[foreach([x],space_to_comma(library_targets),[pushdef([source])define([source],afterdot(x,[.c]))dnl +define([new_object],[pushdef([source])define([source],patsubst(patsubst(patsubst(my_syscmd([sh -c "ls -d $1"]),[\..+$],object_suffix),[ +],[ ]),[ $],[]))define([library_targets],ifelse(library_targets,[],[source],[library_targets source]))popdef([source])])dnl +define([print_library_targets],[foreach(x,space_to_comma(library_targets),[pushdef([source])define([source],[patsubst(x,[\]object_suffix[$],[.c])])dnl x: source $(CC) -c -fPIC $(CFLAGS) $(INCDIR) -o x source popdef([source])])])dnl @@ -35,12 +35,12 @@ define([new_example],[define($1[]_cflag,[$2])dnl define($1[]_ldflag,[$3])dnl define($1[]_lib,[$4])dnl define([examples_targets],ifelse(examples_targets,[],[$1[]executable_suffix],[examples_targets $1[]executable_suffix]))])dnl -define([print_examples_targets],[foreach([x],space_to_comma(examples_targets),[pushdef([base])dnl -define([base],afterdot(x,[]))dnl +define([print_examples_targets],[foreach(x,space_to_comma(examples_targets),[pushdef(base)dnl +define([base],patsubst(x,[\..+$],[]))dnl x: base[]object_suffix library - $(CC) -L src -Wl,-R./src $(LIBDIR) defn(base[]_ldflag) -o x base[]object_suffix -lMw $(MATH) defn(base[]_lib) + $(CC) -L src -Wl,-R./src $(LIBDIR) indir(base[]_ldflag) -o x base[]object_suffix -lMw $(MATH) indir(base[]_lib) base[]object_suffix: base.c - $(CC) -c $(INCDIR) -o base[]object_suffix defn(base[]_cflag) base.c + $(CC) -c $(INCDIR) -o base[]object_suffix indir(base[]_cflag) base.c popdef([base])])])dnl dnl diff --git a/m4/util/afterdot.m4 b/m4/util/afterdot.m4 deleted file mode 100644 index cb9fced..0000000 --- a/m4/util/afterdot.m4 +++ /dev/null @@ -1,11 +0,0 @@ -dnl $Id$ -define([afterdot],[pushdef([rindex])dnl -define([rindex],index([$1],[.]))dnl -define([rindex],ifelse(rindex,[-1],len([$1]),rindex))dnl -substr([$1],[0],rindex)$2[]dnl -popdef([rindex])])dnl -dnl -define([afterdots],[pushdef([first])dnl -define([first],1)dnl -foreach([x],space_to_comma($1),[ifelse(first,[1],[define([first],0)],[ ])afterdot(x,$2)])dnl -popdef([first])])dnl diff --git a/m4/util/comma.m4 b/m4/util/comma.m4 index e2fc635..c5c57ff 100644 --- a/m4/util/comma.m4 +++ b/m4/util/comma.m4 @@ -1,5 +1,3 @@ dnl $Id$ -define([space_to_comma],[pushdef([rindex])dnl -define([rindex],index([$*],[ ]))dnl -ifelse(rindex,[-1],[$*],[substr([$*],0,rindex)[,]space_to_comma(substr([$*],eval(rindex + 1)))])[]dnl -popdef([rindex])])dnl +define([space_to_comma],[_space_to_comma(patsubst([$*],[ ],[,]))])dnl +define([_space_to_comma],[ifelse([$#],[0],[],[$#],[1],[$1],[$1[,]_space_to_comma(shift($@))])])dnl diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 603574a..a4d9abb 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -130,7 +130,6 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { int n = wp; const int base = 'A' - 1; - /* FIXME: this catches escape key (!?!?!?) */ if(n <= 0x1f) { n = (n + base) | MwLLControlMask; if(!(GetKeyState(VK_LSHIFT) || GetKeyState(VK_RSHIFT))) n += 0x20; @@ -138,6 +137,8 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { if(HIBYTE(VkKeyScan(wp)) & 2) n |= MwLLControlMask; if(msg == WM_SYSCHAR) n |= MwLLAltMask; + printf("%c\n", n & 0xff); + if((0x20 <= n && n <= 0x7f) || (n & MwLLKeyMask)) MwLLDispatch(u->ll, key, &n); } else if(msg == WM_SETFOCUS) { MwLLDispatch(u->ll, focus_in, NULL);