emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master b9ac4f8.. (Fix locating pdump by symlink) breaks with stow


From: Andy Moreton
Subject: Re: master b9ac4f8.. (Fix locating pdump by symlink) breaks with stow
Date: Mon, 24 Jun 2019 15:14:47 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2.90 (windows-nt)

On Mon 24 Jun 2019, Daniel Colascione wrote:

>> On Mon, Jun 24, 2019 at 06:57:32PM +0700, Yuri Khan wrote:
>>>On Mon, Jun 24, 2019 at 6:12 PM Ergus <address@hidden> wrote:
>>>
>>>> 750|  char* argv0 = realpath (argv[0], NULL);
>>>> 751|  if (!argv0)
>>>> 752|    fatal ("could not resolve realpath of \"%s\": %s",
>>>> 752|           argv0, strerror (errno));
>>>
>>>This looks wrong. If we called realpath and it returned null, we???d
>>>probably want the original argv[0] in the error message, not the null
>>>result.
>>>
>>
>> This also produces problems when using emacs from an alias like em o emc
>> which is a very common practice.
>>
>> So there should be actually other conditions to try if the first
>> realpath call fails and not abort (call fatal) in the first try.
>
> Try it now. Sorry about the botched change.

Building commit 65d45def8d71e50d111adf1141011a5d30a27447 still fails on
MSYS2 (Windows), and adds warnings:

C:/emacs/git/emacs/master/lib/canonicalize-lgpl.c:51:21: warning: no previous 
prototype for 'realpath' [-Wmissing-prototypes]
   51 | # define __realpath realpath
      |                     ^~~~~~~~
C:/emacs/git/emacs/master/lib/canonicalize-lgpl.c:117:1: note: in expansion of 
macro '__realpath'
  117 | __realpath (const char *name, char *resolved)
      | ^~~~~~~~~~
C:/emacs/git/emacs/master/lib/canonicalize-lgpl.c:50:35: warning: no previous 
prototype for 'canonicalize_file_name' [-Wmissing-prototypes]
   50 | # define __canonicalize_file_name canonicalize_file_name
      |                                   ^~~~~~~~~~~~~~~~~~~~~~
C:/emacs/git/emacs/master/lib/canonicalize-lgpl.c:416:1: note: in expansion of 
macro '__canonicalize_file_name'
  416 | __canonicalize_file_name (const char *name)
      | ^~~~~~~~~~~~~~~~~~~~~~~~

[...]

C:/emacs/git/emacs/master/src/emacs.c: In function 'load_pdump':
C:/emacs/git/emacs/master/src/emacs.c:851:22: warning: implicit declaration of 
function 'realpath' [-Wimplicit-function-declaration]
  851 |       real_exename = realpath (exename, NULL);
      |                      ^~~~~~~~
C:/emacs/git/emacs/master/src/emacs.c:851:22: warning: nested extern 
declaration of 'realpath' [-Wnested-externs]
C:/emacs/git/emacs/master/src/emacs.c:851:20: warning: assignment to 'char *' 
from 'int' makes pointer from integer without a cast [-Wint-conversion]
  851 |       real_exename = realpath (exename, NULL);
      |                    ^
C:/emacs/git/emacs/master/src/emacs.c:923:7: error: 'argv0_len' undeclared 
(first use in this function)
  923 |       argv0_len = strlen (argv0_base);
      |       ^~~~~~~~~
C:/emacs/git/emacs/master/src/emacs.c:923:7: note: each undeclared identifier 
is reported only once for each function it appears in
make[1]: *** [Makefile:402: emacs.o] Error 1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]