summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2015-09-13 11:55:28 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2015-09-13 11:56:06 -0700
commita85472bbdcd16b0a695cd75f98b68ee39b86ae2f (patch)
treef200f070a7b5489aab13e55a1e8e08b16a5f1fec
parent59e3f2df9314e160b37bb1375b4bad15976cd56f (diff)
downloademacs-a85472bbdcd16b0a695cd75f98b68ee39b86ae2f.tar.gz
Port Unicode char detection to FreeBSD+svgalib
Problem reported by Ashish SHUKLA in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html * configure.ac: Check for struct unipair.unicode instead of for <linux/kd.h>, since that’s more specific to what the code actually needs. * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
-rw-r--r--configure.ac3
-rw-r--r--src/terminal.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index cd828dedc9d..f86d29ed58b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1582,7 +1582,6 @@ fi
dnl checks for header files
AC_CHECK_HEADERS_ONCE(
- linux/kd.h
sys/systeminfo.h
sys/sysinfo.h
coff.h pty.h
@@ -3999,6 +3998,8 @@ AC_SUBST(KRB4LIB)
AC_CHECK_HEADERS(valgrind/valgrind.h)
+AC_CHECK_MEMBERS([struct unipair.unicode], [], [], [[#include <linux/kd.h>]])
+
AC_CHECK_FUNCS_ONCE(tzset)
ok_so_far=yes
diff --git a/src/terminal.c b/src/terminal.c
index d7c16d9d036..80c6aa20bee 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -28,7 +28,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "coding.h"
#include "keyboard.h"
-#ifdef HAVE_LINUX_KD_H
+#if HAVE_STRUCT_UNIPAIR_UNICODE
# include <errno.h>
# include <linux/kd.h>
# include <sys/ioctl.h>
@@ -532,7 +532,7 @@ selected frame's terminal). */)
return store_terminal_param (decode_live_terminal (terminal), parameter, value);
}
-#if HAVE_LINUX_KD_H
+#if HAVE_STRUCT_UNIPAIR_UNICODE
/* Compute the glyph code table for T. */
@@ -575,7 +575,7 @@ calculate_glyph_code_table (struct terminal *t)
Lisp_Object
terminal_glyph_code (struct terminal *t, int ch)
{
-#if HAVE_LINUX_KD_H
+#if HAVE_STRUCT_UNIPAIR_UNICODE
if (t->type == output_termcap)
{
/* As a hack, recompute the table when CH is the maximum