Subject: bug#34707: closed (Re: bug#34707: Failure to find the associated pdump file)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 28 Jun 2019 06:43:02 +0000

Your bug report

#34707: Failure to find the associated pdump file

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34707: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34707
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#34707: Failure to find the associated pdump file
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked]
Date: Fri, 28 Jun 2019 09:42:16 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

This bug was fixed by Daniel in commit b9ac4f8.  Closing.

Subject: Failure to find the associated pdump file
From: Richard Stallman <[email-masked]>
To: [email-masked]
Date: Fri, 01 Mar 2019 22:27:54 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

I have a symlink from bin/emacs to emacs-git/build-feb-24/src/emacs.
It contains master from Feb 24, built.

When I run that by typing `emacs', with some other directory current,
it crashes: it gets error and exits when it tries to run
tty-set-up-initial-frame-faces, from init_display.
That is supposed to have been set up by associated Lisp files
which have not been run.

I think the cause is that Emacs failed to find the pdump file.

    Apparently that failure gives no error message!
    It must give an error message, since you can't get anything
    like what you want if you don't get the pdump file.

There is an annoying secondary problem: it exits leaving the tty set
up for Emacs (no echo).  It ought to restore the outside-Emacs
terminal settings before exiting.

The reason it fails to find the pdump file
is that it fails to implement this case

    If the executable file is a symbolic link, the program can find the
    link target and use its containing directory instead of the link's
    containing directory.

which is implemented for associated Lisp files in this code in emacs.c

	  /* If the Emacs executable is actually a link,
	     next try the dir that the link points into.  */
	  tem = Ffile_symlink_p (name);
	  if (!NILP (tem))
	    {
	      name = Fexpand_file_name (tem, dir);
	      dir = Ffile_name_directory (name);
	    }
	  else
	    break;

but that is not implemented for pdump files.

-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)