Mercurial > emacs
view src/terminfo.c @ 1964:e6c49ff3a53c
(intervals_equal): Handle one arg null and other not.
(set_point): Considerable rewrite. Handle intervals both
before and after the old and new point values.
Redo handling of invisible intervals, and of motion hooks.
(textget): New function.
(graft_intervals_into_buffer):
create_root_interval needs Lisp object arg.
Set tree to new root interval.
Don't test TREE_LENGTH if buffer has no intervals.
Rearrange code to copy properties so that it really
does merge the inserted ones into the inherited ones.
(traverse_intervals): Pass `arg' on recursive calls.
(split_interval_left): Use new_length as basis for length of new.
(traverse_intervals): New arg ARG.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 01 Mar 1993 08:56:22 +0000 |
parents | 3165b2697c78 |
children | 0a4887c33fff |
line wrap: on
line source
/* Interface from Emacs to terminfo. Copyright (C) 1985, 1986 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Define these variables that serve as global parameters to termcap, so that we do not need to conditionalize the places in Emacs that set them. */ char *UP, *BC, PC; short ospeed; static buffer[512]; /* Interface to curses/terminfo library. Turns out that all of the terminfo-level routines look like their termcap counterparts except for tparm, which replaces tgoto. Not only is the calling sequence different, but the string format is different too. */ char * tparam (string, outstring, len, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) char *string; char *outstring; int arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9; { char *temp; extern char *tparm(); temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); if (outstring == 0) outstring = ((char *) (malloc ((strlen (temp)) + 1))); strcpy (outstring, temp); return outstring; }