Mercurial > vim
view src/osdef1.h.in @ 34623:65e7eaf68f19 v9.1.0200
patch 9.1.0200: `gj`/`gk` not skipping over outer virtual text lines
Commit: https://github.com/vim/vim/commit/b2d124c6258ff41e1f951bf39a4afc386d79ddc4
Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Date: Sun Mar 24 09:43:25 2024 +0100
patch 9.1.0200: `gj`/`gk` not skipping over outer virtual text lines
Problem: `gj`/`gk` was updating the desired cursor virtual column to
the outer virtual text, even though the actual cursor position
was moved to not be on the virtual text, leading the need to
do an extra `gj`/`gk` to move past each virtual text line.
(rickhowe)
Solution: Exclude the outer virtual text when getting the line length
for moving the cursor with `gj`/`gk`, so that no extra
movement is needed to skip over virtual text lines.
(Dylan Thacker-Smith)
fixes: #12028
related: #14262
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 | Sun, 24 Mar 2024 10:00:05 +0100 |
parents | 9781c150eddd |
children |
line wrap: on
line source
/* autoconf cannot fiddle out declarations. Use our homebrewn tools. (jw) */ /* * Declarations that may cause conflicts belong here so that osdef.sh * can clean out the forest. Everything else belongs in os_unix.h * * How this works: * - This file contains all unix prototypes that Vim might need. * - The shell script osdef.sh is executed at compile time to remove all the * prototypes that are in an include file. This results in osdef.h. * - osdef.h is included in vim.h. * * sed cannot always handle so many commands, this is file 1 of 2 */ extern int printf(char *, ...); extern int fprintf(FILE *, char *, ...); extern int sprintf(char *, char *, ...); extern int sscanf(char *, char *, ...); #ifndef fopen /* could be redefined to fopen64() */ extern FILE *fopen(const char *, const char *); #endif extern int fclose(FILE *); extern int fseek(FILE *, long, int); #ifdef HAVE_FSEEKO extern int fseeko(FILE *, off_t, int); #endif extern long ftell(FILE *); #ifdef HAVE_FSEEKO extern off_t ftello(FILE *); #endif extern void rewind(FILE *); extern int fread(char *, int, int, FILE *); extern int fwrite(char *, int, int, FILE *); extern int fputs(char *, FILE *); #ifndef ferror /* let me say it again: "macros should never have prototypes" */ extern int ferror(FILE *); #endif extern int fflush(FILE *); #if defined(sun) || defined(_SEQUENT_) /* used inside of stdio macros getc(), puts(), putchar()... */ extern int _flsbuf(int, FILE *); extern int _filbuf(FILE *); #endif #if !defined(HAVE_SELECT) struct pollfd; /* for poll() */ extern int poll(struct pollfd *, long, int); #endif #ifdef HAVE_MEMSET extern void *memset(void *, int, size_t); #endif extern int memcmp(const void *, const void *, size_t); #ifdef HAVE_STRPBRK extern char *strpbrk(const char *, const char *); #endif #ifdef USEBCOPY extern void bcopy(char *, char *, int); #else # ifdef USEMEMCPY extern void memcpy(char *, char *, int); # else # ifdef USEMEMMOVE extern void memmove(char *, char *, int); # endif # endif #endif #if !defined(__BIONIC__) && !defined(__HAIKU__) // Android's libc #defines bzero to memset. // used inside of FD_ZERO macro extern void bzero(void *, size_t); #endif #ifdef HAVE_SETSID extern pid_t setsid(void); #endif #ifdef HAVE_SETPGID extern int setpgid(pid_t, pid_t); #endif #ifdef HAVE_STRTOL extern int strtol(char *, char **, int); #endif #ifdef HAVE_STRFTIME extern size_t strftime(char *, size_t, char *, struct tm *); #endif #ifdef HAVE_STRCASECMP extern int strcasecmp(char *, char *); #endif #ifdef HAVE_STRNCASECMP extern int strncasecmp(char *, char *, size_t); #endif #ifndef strdup extern char *strdup(const char *); #endif extern int atoi(char *); extern int atol(char *); #ifndef USE_SYSTEM extern int fork(void); # ifndef __TANDEM extern int execvp(const char *, const char **); # endif extern int wait(int *); /* will this break things ...? */ extern int waitpid(pid_t, int *, int); #endif extern int toupper(int); extern int tolower(int); extern void (*signal(int, void (*func) SIGPROTOARG)) SIGPROTOARG; #ifdef HAVE_SIGSET extern void (*sigset(int, void (*func) SIGPROTOARG)) SIGPROTOARG; #endif #if defined(HAVE_SETJMP_H) # ifdef HAVE_SIGSETJMP extern int sigsetjmp(sigjmp_buf, int); extern void siglongjmp(sigjmp_buf, int); # else extern int setjmp(jmp_buf); extern void longjmp(jmp_buf, int); # endif #endif extern int kill(int, int); #ifndef __TANDEM extern int access(char *, int); #endif extern int fsync(int); extern int fchown(int, int, int); #if defined(HAVE_GETCWD) && !defined(sun) && !defined(__TANDEM) extern char *getcwd(char *, int); #else extern char *getwd(char *); #endif #ifndef __alpha /* suggested by Campbell */ extern int ioctl(int, int, ...); #endif extern int chmod(const char *, mode_t);