all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "T.V Raman" <raman@google.com>
To: akrl@sdf.org
Cc: raman@google.com, emacs-devel@gnu.org
Subject: Re: Emacs:Native-Comp Backtrace
Date: Wed, 26 Aug 2020 12:32:11 -0700	[thread overview]
Message-ID: <24390.47291.992237.677025@retriever.mtv.corp.google.com> (raw)
In-Reply-To: <xjfr1rt1aya.fsf@sdf.org>

thanks. Emacspeak (https://github.com/tvraman/emacspeak) should prove
a good test-bed re advice. Note that with-eval-after-load turns its
body into an anonymous lambda --- an din general, those may not be
worth native-compiling Andrea Corallo writes:
 > "T.V Raman" <raman@google.com> writes:
 > 
 > > "T.V Raman" <raman@google.com> writes:
 > >
 > > Here is some more info based on a work-around:
 > >
 > > Conjecture: native-comp has issues with with-eval-after-load and
 > > friends:
 > >
 > > The following setup produced the afore-mentioned error:
 > >
 > > 1. In the emacs startup, load dired-x when dired is loaded:
 > >    (with-eval-after-load "dired" (require 'dired-x))
 > >    2. dired-mode-hook contains dired-omit-mode defined in dired-x
 > > 3. During startup, a dired buffer is opened -- either via psession,
 > >    desktop or some other means
 > >
 > >    With the above, you get the error (symbol's function definition is
 > >    void: dired-omit-mode)
 > >
 > >    Fix: If in the startup file, you remove the with-eval-after-load and
 > >    simply require dired-x, then it works.
 > >
 > >    Additional info which lends credence to the conjecture:
 > >
 > >    Emacspeak loads module-specific code using eval-after-load e.g. when
 > >    "ido" is loaded, it loads emacspeak-ido after ido is done loading. In
 > >    native-comp emacs, I find that (featurep 'emacspeak-ido) is nil after
 > >    ido is loaded.
 > >
 > >    I suspect use-package may also  be affected in  a similar way.
 > 
 > Hi Raman
 > 
 > thanks for having a look.
 > 
 > This issue sounds strange but before looking into it I'd like to rework
 > the advicing primitive mechanism for the native code.
 > 
 > This is a source of incompatibility that may cause a number of the small
 > strange behaviours we still see today.  As a matter of fact today any
 > primitive that gets advised if is not listed in
 > `comp-never-optimize-functions' will misbehave with respect to the
 > vanilla implementation.
 > 
 > This should be the last non small area that need intervention and I'll
 > be on this very soon.
 > 
 >   Andrea
 > 
 > -- 
 > akrl@sdf.org

-- 
♉Id: kg:/m/0285kf1  🦮♉

--
♉Id: kg:/m/0285kf1  🦮♉



  reply	other threads:[~2020-08-26 19:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-26  0:36 Emacs:Native-Comp Backtrace T.V Raman
2020-08-26 15:06 ` T.V Raman
2020-08-26 19:09   ` Andrea Corallo via Emacs development discussions.
2020-08-26 19:32     ` T.V Raman [this message]
2020-08-26 19:46       ` Andrea Corallo via Emacs development discussions.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=24390.47291.992237.677025@retriever.mtv.corp.google.com \
    --to=raman@google.com \
    --cc=akrl@sdf.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.