Mercurial > vim
view src/osdef2.h.in @ 34680:2fd4ce2a5058 v9.1.0221
patch 9.1.0221: lines following virt text (that fills the window) might be truncated
Commit: https://github.com/vim/vim/commit/b6fac4db3647179671d3267a4bcd418e92cd4572
Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Date: Thu Mar 28 11:40:41 2024 +0100
patch 9.1.0221: lines following virt text (that fills the window) might be truncated
Problem: The if branch to set `text_prop_follows` was both checking if
it was at the end of the buffer text line or if it was at the
end of the screen line, but the former being true skipped
a guard condition in the latter to only consider 'below'
virtual text to follow. `text_prop_follows` being improperly
set caused it to skip a conditional block to break at the end
as well as one to move `ptr` to the end of the text line,
while repeated for each following line of the window.
Solution: Move the check for whether 'below' virtual text should follow
so it is also used when at the end of the buffer text line.
(Dylan Thacker-Smith)
fixes: #12213
related: #14307
Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Mar 2024 12:00:03 +0100 |
parents | 9f3fd7937957 |
children |
line wrap: on
line source
/* * osdef2.h.in - See osdef1.h.in for a description. */ extern int remove(const char *); extern int rename(const char *, const char *); extern int free(char *); extern char *malloc(unsigned int); extern char *realloc(char *, int); extern char *getenv(char *); #ifndef __TANDEM extern int setenv(char *, char *, int); #else extern int setenv(const char *, const char *, int); #endif extern int putenv(const char *); #ifndef __TANDEM extern int gethostname(char *, int); #endif extern void perror(char *); #ifndef __TANDEM extern int sleep(int); #endif extern int usleep(unsigned int); extern unsigned int alarm(unsigned int); #ifndef __TANDEM extern int chdir(char *); #endif extern int fchdir(int); #ifndef stat /* could be redefined to stat64() */ extern int stat(const char *, struct stat *); #endif #ifndef lstat /* could be redefined to lstat64() */ extern int lstat(const char *, struct stat *); #endif extern int fstat(int, struct stat *); extern int open(const char *, int, ...); extern int close(int); #ifndef __TANDEM extern int read(int, char *, size_t); extern int write(int, char *, size_t); #endif extern int pipe(int *); extern off_t lseek(int, off_t, int); extern void sync(void); extern uid_t getuid(void); extern gid_t getgid(void); extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); extern int isatty(int); extern int getpid(void); extern int dup(int); extern int unlink(const char *); extern int link(const char *, const char *); extern int mkdir(const char *, mode_t); extern int rmdir(const char *); extern int tgetent(char *, char *); extern int tgetnum(char *); extern int tgetflag(char *); extern char *tgoto(char *, int, int); extern int tputs(char *, int, int (*)(int)); #ifdef HAVE_TERMIOS_H struct termios; /* for tcgetattr() */ extern int tcgetattr(int, struct termios *); extern int tcsetattr(int, int, const struct termios *); #endif #ifdef HAVE_SYS_STATFS_H struct statfs; /* for fstatfs() */ extern int fstatfs(int, struct statfs *, int, int); #endif #ifdef HAVE_GETTIMEOFDAY struct timeval; /* for gettimeofday() */ struct timezone; /* for gettimeofday() */ extern int gettimeofday(struct timeval *tp, struct timezone *tzp); extern time_t time(time_t *); #endif #ifdef HAVE_GETPWNAM struct passwd; /* for getpwnam() */ extern struct passwd *getpwnam(const char *); #endif #ifdef USE_TMPNAM extern char *tmpnam(char *); #else extern char *mktemp(char *); #endif #ifdef ISC extern int _Xmblen(char const *, size_t); #else /* This is different from the header but matches mblen() */ extern int _Xmblen(char *, size_t); #endif