view src/termcap-1-fixes.patch @ 5579:2734b3818171

Avoid double-free with librsb (bug #58957). * src/librsb.mk: Add work-around to avoid double-free (provided by Michele Martone). * src/mingw-of-sparsersb-1-no-render.patch: Remove patch. * dist-files.mk: Remove file from list.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 02 Nov 2020 08:55:18 +0100
parents 504cb71a29a9
children
line wrap: on
line source

--- a/Makefile.in	1995-08-16 20:54:29.000000000 -0400
+++ b/Makefile.in	2012-12-05 11:45:11.124478718 -0500
@@ -75,8 +75,6 @@
 	$(INSTALL_DATA) libtermcap.a $(libdir)/libtermcap.a
 	-$(RANLIB) $(libdir)/libtermcap.a
 	cd $(srcdir); $(INSTALL_DATA) termcap.h $(includedir)/termcap.h
-	-cd $(srcdir); test -z "$(oldincludedir)" || \
-	  $(INSTALL_DATA) termcap.h $(oldincludedir)/termcap.h
 	cd $(srcdir); for f in termcap.info*; \
 	do $(INSTALL_DATA) $$f $(infodir)/$$f; done
 

Note that CE is missing from this entry because it causes
trouble for Octave.  Instead of performing the action, it
is echoed to the terminal window when Readline tputs it to
the terminal.

diff -uNr a/termcap.c b/termcap.c
--- a/termcap.c	2002-02-25 12:59:21.000000000 -0500
+++ b/termcap.c	2018-03-01 13:16:17.960763846 -0500
@@ -120,6 +120,26 @@
 }
 #endif /* not emacs */
 
+
+#define INTERNAL_TERMINAL \
+  "cygwin:\
+	:am:bs:mi:ms:xo:\
+	:Co#8:NC#3:co#80:li#25:pa#64:\
+	:@7=\\E[4~:AB=\\E[4%dm:AF=\\E[3%dm:F1=\\E[23~:F2=\\E[24~:\
+	:F3=\\E[25~:F4=\\E[26~:F5=\\E[28~:F6=\\E[29~:F7=\\E[31~:\
+	:F8=\\E[32~:F9=\\E[33~:FA=\\E[34~:S2=\\E[11m:S3=\\E[10m:\
+	:ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\
+	:ae=\\E[10m:as=\\E[11m:cl=\\E[2J:cm=\\E[%i%d;%dH:\
+	:do=\\E[B:ho=\\E[H:is=\\E[m\\E[?7h:k1=\\E[[A:k2=\\E[[B:k3=\\E[[C:\
+	:k4=\\E[[D:k5=\\E[[E:k6=\\E[17~:k7=\\E[18~:k8=\\E[19~:\
+	:k9=\\E[20~:k;=\\E[21~:kD=\\E[3~:kI=\\E[2~:kN=\\E[6~:kP=\\E[5~:\
+	:kd=\\E[B:kh=\\E[1~:kl=\\E[D:kr=\\E[C:ku=\\E[A:le=^H:mb=\\E[5m:\
+	:md=\\E[1m:me=\\E[0;10m:mk=\\E[8m:mr=\\E[7m:nd=\\E[C:\
+	:op=\\E[37;40m:pk=\\E[0;%+\:;\"%s\":rc=\\E[u:\
+	:..sa=\\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\
+	:sc=\\E[s:se=\\E[m:so=\\E[7m:u6=\\E[%i%d;%dR:u7=\\E[6n:ue=\\E[m:\
+	:up=\\E[A:us=\\E[4m:"
+
 /* Looking up capabilities in the entry already found.  */
 
 /* The pointer to the data made by tgetent is left here
@@ -464,7 +484,7 @@
 #ifdef INTERNAL_TERMINAL
   /* For the internal terminal we don't want to read any termcap file,
      so fake it.  */
-  if (!strcmp (name, "internal"))
+  if (!strcmp (name, "cygwin"))
     {
       term = INTERNAL_TERMINAL;
       if (!bp)