X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/4c14013dbec3a2f130a38e61e885f1e8cc6c325b..a7727d05be4047b4ab6c8218ad2de5e2ad8624da:/src/cm.c diff --git a/src/cm.c b/src/cm.c index dac6ece7b2..842633acee 100644 --- a/src/cm.c +++ b/src/cm.c @@ -1,6 +1,5 @@ /* Cursor motion subroutines for GNU Emacs. - Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1985, 1995, 2001-2013 Free Software Foundation, Inc. based primarily on public domain code written by Chris Torek This file is part of GNU Emacs. @@ -21,26 +20,17 @@ along with GNU Emacs. If not, see . */ #include #include -#include #include "lisp.h" #include "frame.h" #include "cm.h" #include "termhooks.h" #include "termchar.h" - - -/* For now, don't try to include termcap.h. On some systems, - configure finds a non-standard termcap.h that the main build - won't find. */ -extern void tputs (const char *, int, int (*)(int)); -extern char *tgoto (const char *, int, int); +#include "tparam.h" #define BIG 9999 /* 9999 good on VAXen. For 16 bit machines use about 2000.... */ -extern char *BC, *UP; - int cost; /* sums up costs */ /* ARGSUSED */ @@ -128,7 +118,7 @@ cmcheckmagic (struct tty_display_info *tty) if (curX (tty) == FrameCols (tty)) { if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) - abort (); + emacs_abort (); if (tty->termscript) putc ('\r', tty->termscript); putc ('\r', tty->output); @@ -200,7 +190,7 @@ calccost (struct tty_display_info *tty, tabx, tab2x, tabcost; - register char *p; + register const char *p; /* If have just wrapped on a terminal with xn, don't believe the cursor position: give up here @@ -223,8 +213,9 @@ calccost (struct tty_display_info *tty, } totalcost = c * deltay; if (doit) - while (--deltay >= 0) + do emacs_tputs (tty, p, 1, cmputc); + while (0 < --deltay); x: if ((deltax = dstx - srcx) == 0) goto done; @@ -305,14 +296,16 @@ fail: } totalcost += c * deltax; if (doit) - while (--deltax >= 0) + do emacs_tputs (tty, p, 1, cmputc); + while (0 < --deltax); done: return totalcost; } #if 0 -losecursor () +void +losecursor (void) { curY = -1; } @@ -331,9 +324,9 @@ cmgoto (struct tty_display_info *tty, int row, int col) llcost, relcost, directcost; - int use; - char *p, - *dcm; + int use IF_LINT (= 0); + char *p; + const char *dcm; /* First the degenerate case */ if (row == curY (tty) && col == curX (tty)) /* already there */ @@ -461,6 +454,3 @@ Wcm_init (struct tty_display_info *tty) return - 2; return 0; } - -/* arch-tag: bcf64c02-00f6-44ef-94b6-c56eab5b3dc4 - (do not change this comment) */