[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs pretest 28.0.90 is out
From: |
Eli Zaretskii |
Subject: |
Re: Emacs pretest 28.0.90 is out |
Date: |
Fri, 10 Dec 2021 16:26:27 +0200 |
> From: Po Lu <luangruo@yahoo.com>
> Cc: emacs-devel@gnu.org
> Date: Fri, 10 Dec 2021 21:44:48 +0800
>
> I got the MS-DOS port to work. Everything seems to run normally, but
> someone might need to run it under a DOS machine (as opposed to the
> NTVDM) to be sure.
That someone isn't myself, as I don't have a DOS machine.
How did you test the build? What commands did you try?
My "standard minimum" set of tests for the DOS port is:
. Visit a couple of files in different major modes and make sure
there're no error messages
. Type "C-x" and verify that the "C-x-" prompt appears after a
second of delay
. Type "M-x display-time-mode RET" and verify that Emacs displays
time correctly, updating it every minute
. Click on the menu bar and verify that menus work and display with
correct colors
. Move the mouse over the mode line and verify that it is
mouse-sensitive, and help-echo is displayed in the echo-area
. "C-h i" and verify that the help-echo for the menu items works
when you move the mouse above them, mouse clicks on the header
line work, and non-ASCII characters in the manual are correctly
replaced with their ASCII equivalents
. "M-x compile" to compile some simple C program with a syntax
error, and verify that the *Compilation* buffer pops up with the
error message(s), the exit code is correctly reported, and
clicking on the message displays the offending source line
. "M-x customize-variable", select some variable, and verify that
the drop-down menus in the Custom buffer work
. C-z, verify that you are dropped to a subordinate shell, invoke
some shell command, then type "exit RET" to verify that you are
back in Emacs
> If you have no further comments (and it doesn't break the build on
> non-DOS platforms), I would like to install the following change on the
> Emacs 28 branch (and hopefully get it to work on master as well: the DOS
> port will probably not work there either):
Thanks, see the comments below.
> --- a/msdos/sed1v2.inp
> +++ b/msdos/sed1v2.inp
> @@ -55,6 +55,10 @@ s/ *@LIBJPEG@//
> s/ *@LIBPNG@//
> s/ *@LIBGIF@//
> s/ *@LIBXPM@//
> +/^HAVE_NATIVE_COMP *=/s/@HAVE_NATIVE_COMP@//
> +/^HAVE_PDUMPER *=/s/@HAVE_PDUMPER@//
These two should be replaced with "no", not with empty values, I
think.
> +/^JSON_CFLAGS *=/s/@JSOB_CFLAGS@//
> +/^JSON_LIBS *=/s/@JSOB_LIBS@//
Typos: should be JSON_CFLAGS and JSON_LIBS.
> +/^JSON_CFLAGS *=/s/@JSON_CFLAGS@//
> +/^JSON_LIBS *=/s/@JSON_LIBS@//
> +/^JSON_CFLAGS *=/s/@JSON_CFLAGS@//
> +/^JSON_LIBS *=/s/@JSON_LIBS@//
These should be redundant once you fix the typos above.
> +OMIT_GNULIB_MODULE_crypto\/md5 = true
Don't we need md5? Why are you omitting it?
> +ifneq ($(MSDOS_OBJ),)
> +temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(EMACSRES) \
> + $(charsets) $(charscript) ${emoji-zwj} $(MAKE_PDUMPER_FINGERPRINT)
> + $(AM_V_CCLD)$(CC) -o $@ \
> + $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \
> + $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(W32_RES_LINK) $(LIBES)
> + $(MKDIR_P) $(etc)
> +else
> ## We have to create $(etc) here because init_cmdargs tests its
> ## existence when setting Vinstallation_directory (FIXME?).
> ## This goes on to affect various things, and the emacs binary fails
Couldn't you use the original recipe by a trivial editing (it seems
all you need is to replace $@.tmp with $@?), instead of adding an
ifdef? Come to think of that, why not use the original recipe without
any changes, as it moves $@.tmp to $@ after the link succeeds?
> +int
> +fchmodat (int fd, const char *path, mode_t mode, int flags)
> +{
> + if (fd != AT_FDCWD)
> + {
> + if (strlen (dir_pathname) + strlen (path) + 1 >= MAXPATHLEN)
> + {
> + errno = ENAMETOOLONG;
> + return -1;
> + }
> + }
> +
> + return 0;
> +}
This returns zero without doing anything, why? I think it should call
chmod when fd == AT_FDCWD.
> +int
> +futimens (int fd, const struct timespec times[2])
> +{
> + /* TODO */
> + return 0;
> +}
> +
> +int
> +utimensat (int dirfd, const char *pathname,
> + const struct timespec times[2], int flags)
> +{
> + /* TODO */
> + return 0;
> +}
What about these TODOs?
Thanks a lot for working on this.
- Re: Emacs pretest 28.0.90 is out, (continued)
- Re: Emacs pretest 28.0.90 is out, Po Lu, 2021/12/09
- Re: Emacs pretest 28.0.90 is out, Eli Zaretskii, 2021/12/09
- Re: Emacs pretest 28.0.90 is out, Eli Zaretskii, 2021/12/09
- Re: Emacs pretest 28.0.90 is out, Eli Zaretskii, 2021/12/09
- Re: Emacs pretest 28.0.90 is out, Eli Zaretskii, 2021/12/09
- Re: Emacs pretest 28.0.90 is out, Po Lu, 2021/12/09
- Re: Emacs pretest 28.0.90 is out, Po Lu, 2021/12/09
- Re: Emacs pretest 28.0.90 is out, Eli Zaretskii, 2021/12/10
- Re: Emacs pretest 28.0.90 is out, Po Lu, 2021/12/10
- Re: Emacs pretest 28.0.90 is out, Po Lu, 2021/12/10
- Re: Emacs pretest 28.0.90 is out,
Eli Zaretskii <=
- Re: Emacs pretest 28.0.90 is out, Po Lu, 2021/12/10
- Re: Emacs pretest 28.0.90 is out, Eli Zaretskii, 2021/12/11
- Re: Emacs pretest 28.0.90 is out, Po Lu, 2021/12/11
- Re: Emacs pretest 28.0.90 is out, Eli Zaretskii, 2021/12/11
- Re: Emacs pretest 28.0.90 is out, Po Lu, 2021/12/11
- Re: Emacs pretest 28.0.90 is out, Eli Zaretskii, 2021/12/06
Re: Emacs pretest 28.0.90 is out, David O'Toole, 2021/12/04
pretest installed (was: Emacs pretest 28.0.90 is out), andrés ramírez, 2021/12/08
MingGW: Bug in TeX input-method?, was: Re: Emacs pretest 28.0.90 is out, H. Dieter Wilhelm, 2021/12/12