view src/osdef2.h.in @ 34596:5a8340e044f4 v9.1.0190

patch 9.1.0190: complete_info() returns wrong order of items Commit: https://github.com/vim/vim/commit/8950bf7f8b85c1287d4e696965d88091fcc60594 Author: Girish Palya <girishji@gmail.com> Date: Wed Mar 20 20:07:29 2024 +0100 patch 9.1.0190: complete_info() returns wrong order of items Problem: complete_info() returns wrong order of items (after v9.0.2018) Solution: Revert Patch v9.0.2018 (Girish Palya) bug fix: complete_info() gives wrong results 1) complete_info() reverses list of items during <c-p> 2) 'selected' item index is wrong during <c-p> 3) number of items returnd can be wrong Solution: - Decouple 'cp_number' from 'selected' index since they need not be correlated - Do not iterate the list backwards - Add targeted tests Regression introduced by https://github.com/vim/vim/commit/69fb5afb3bc9da24c2fb0eafb0027ba9c6502fc2 Following are unnecessary commits to patch problems from above: https://github.com/vim/vim/commit/fef66301665027f1801a18d796f74584666f41ef https://github.com/vim/vim/commit/daef8c74375141974d61b85199b383017644978c All the tests from above commits are retained though. fixes: #14204 closes: #14241 Signed-off-by: Girish Palya <girishji@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Wed, 20 Mar 2024 20:15: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