view lib-src/ntlib.h @ 60177:f2c6bf193ab5

(pos_visible_p): Be sure to move to the specified position. Always get the full ascent / descent of the corresponding row, to return reliable rtop and rbot values. (back_to_previous_visible_line_start): Fix 2005-01-18 change. Must look one character back, as back_to_previous_line_start returns position after the newline. (move_it_vertically_backward): Fix heuristic for when to move further back in case line_height * 2/3 is larger than window height. (cursor_row_fully_visible_p): Rename make_cursor_line_fully_visible_p as it does not do anything anymore. Add arg current_matrix_p to use current matrix rather than desired matrix when set. (try_cursor_movement): Don't scroll to make cursor row fully visible if cursor didn't move. This avoids unexpected recentering in case of blinking cursor or accepting process output. Use current matrix to check cursor row visibility. (redisplay_window): Fix whether to recenter or move to top in case cursor line is taller than window height. (find_first_unchanged_at_end_row): Stop search if we reach a row which not enabled (instead of abort).
author Kim F. Storm <storm@cua.dk>
date Sat, 19 Feb 2005 23:30:51 +0000
parents 695cf19ef79e
children e50e8a19d938 375f2633d815
line wrap: on
line source

/* Utility and Unix shadow routines for GNU Emacs support programs on NT.
   Copyright (C) 1994 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 2, 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, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.

*/

#include <pwd.h>
#include <malloc.h>

/* Include these headers now so we don't have to worry about include
   order dependencies in common source files.  */
#include <direct.h>
#include <io.h>
#include <stdio.h>

#ifdef sleep
#undef sleep
#endif
void sleep(unsigned long seconds);
char *getwd (char *dir);
int getppid(void);
char * getlogin ();
char * cuserid (char * s);
int getuid ();
int setuid (int uid);
struct passwd * getpwuid (int uid);
char * getpass (const char * prompt);
int fchown (int fd, int uid, int gid);

#ifndef BSTRING
#define bzero(b, l) memset(b, 0, l)
#define bcopy(s, d, l) memcpy(d, s, l)
#define bcmp(a, b, l) memcmp(a, b, l)
#endif

/* redirect or undo interceptions created by config.h */
#undef access
#define access  _access
#undef chdir
#define chdir   _chdir
#undef chmod
#define chmod   _chmod
#undef close
#define close   _close
#undef creat
#define creat   _creat
#undef ctime
#undef dup
#define dup     _dup
#undef dup2
#define dup2    _dup2
#undef fopen
#undef mkdir
#define mkdir   _mkdir
#undef mktemp
#define mktemp  _mktemp
#undef open
#define open    _open
#undef pipe
#define pipe    _pipe
#undef read
#define read    _read
#undef rename
#undef rmdir
#define rmdir   _rmdir
#undef unlink
#define unlink  _unlink
#undef write
#define write   _write

/* map to MSVC names */
#define execlp    _execlp
#define execvp    _execvp
#define fcloseall _fcloseall
#define fdopen	  _fdopen
#define fgetchar  _fgetchar
#define fileno	  _fileno
#define flushall  _flushall
#define fputchar  _fputchar
#define getcwd	  _getcwd
#define getw	  _getw
#define getpid    _getpid
#define isatty    _isatty
#define locking   _locking
#define logb      _logb
#define _longjmp  longjmp
#define lseek     _lseek
#define popen     _popen
#define pclose    _pclose
#define putw	  _putw
#define umask	  _umask
#define utime	  _utime
#define index     strchr
#define rindex    strrchr

/* Make standard winsock definitions available if needed.  */
#undef _WINSOCKAPI_
#undef _WINSOCK_H

/* end of ntlib.h */

/* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28
   (do not change this comment) */