unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Kaushal Modi <kaushal.modi@gmail.com>
To: Drew Adams <drew.adams@oracle.com>,
	Michael Heerdegen <michael_heerdegen@web.de>
Cc: Bruce Connor <arturmalabarba@gmail.com>, help-gnu-emacs@gnu.org
Subject: Re: Help debugging a backtrace
Date: Mon, 02 May 2016 04:20:50 +0000	[thread overview]
Message-ID: <CAFyQvY0+tvBs6Mpat+Hq+5QSbxj0BKsrcFHRottjOwYvAZvw5A@mail.gmail.com> (raw)
In-Reply-To: <167d27f3-4442-49be-8919-376dc1f1c7ab@default>

>
> Typo: You probably mean `featurep', not `feature'.
>

feature is correct here; it's just the argument name.

@Michael Thanks for that help. Here's more info.

Here is what I got in my backtrace:

=====
Debugger entered: nil
  (progn (debug))
  (if (or (eq feature (quote finder-inf)) (and (stringp filename)
(string-match-p "finder-inf" filename))) (progn (debug)))
  (lambda (feature &optional filename _noerror) (if (or (eq feature (quote
finder-inf)) (and (stringp filename) (string-match-p "finder-inf"
filename))) (progn (debug))) (message "feature: %S" feature) (message
"filename: %S" filename))(finder-inf nil t)
  apply((lambda (feature &optional filename _noerror) (if (or (eq feature
(quote finder-inf)) (and (stringp filename) (string-match-p "finder-inf"
filename))) (progn (debug))) (message "feature: %S" feature) (message
"filename: %S" filename)) (finder-inf nil t))
  require(finder-inf nil t)
  package--build-compatibility-table()
  package-initialize()
  eval-buffer(#<buffer  *load*-296204> nil
"/data/data/com.termux/files/home/.emacs.d/my-package-setup.el" nil t)  ;
Reading at buffer position 21

load-with-code-conversion("/data/data/com.termux/files/home/.emacs.d/my-package-setup.el"
"/data/data/com.termux/files/home/.emacs.d/my-package-setup.el" nil t)
  load("~/.emacs.d/my-package-setup.el" nil :nomessage)
  eval-buffer(#<buffer  *load*> nil
"/data/data/com.termux/files/home/.emacs.d/init.el" nil t)  ; Reading at
buffer position 758

load-with-code-conversion("/data/data/com.termux/files/home/.emacs.d/init.el"
"/data/data/com.termux/files/home/.emacs.d/init.el" t t)
  load("/data/data/com.termux/files/home/.emacs.d/init" t t)
  #[0 " \205\266 \306=\203 \307 \310Q\202? \311=\204 \307
\312Q\202?\313\307\314\315#\203*\316\202?\313\307\314\317#\203>\320\321\322!D\nB
\323\202?\316\324 \325 \324\211#\210 \324=\203e\326\327\330\307
\331Q!\"\325 \324\211#\210 \324=\203d \210 \203\247\332
!\333\232\203\247\334 !\211\335P\336 !\203\201\211\202\214\336 !\203\213
\202\214\314\262 \203\245\337 \"\203\243\340\341 #\210\342\343!\210 \266
\f?\205\264\314 \325\344\324\211#)\262 \207" [init-file-user system-type
delayed-warnings-list user-init-file inhibit-default-init
inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs"
directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs"
"^_emacs\\(\\.elc?\\)?$" initialization format-message "`_emacs' init file
is deprecated, please use `.emacs'" "~/_emacs" t load expand-file-name
"init" file-name-as-directory "/.emacs.d" file-name-extension "elc"
file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message
"Warning: %s is newer than %s" sit-for 1 "default"] 7]()
  command-line()
  normal-top-level()
  eval((normal-top-level))
  load("loadup.el")

=====

I see a call to package--build-compatibility-table() in my backtrace
whereas it's not present in yours.

Then I slightly tweaked your require advice, and replaced (debug) with
messages.

=====

;; (package-initialize) ; Do NOT delete this comment
;;   In emacs 25+, the `package-initialize' call is auto-added to the top of
;; init.el unless the user already has a commented or uncommented
;; `(package-initialize)' line present in their init.el.
;;   I call this function in setup-packages.el and so am keeping the
;; commented out version here so that package.el does not add it again.

(advice-add 'require :before
   (lambda (feature &optional filename _noerror)
     (when (or (eq feature 'finder-inf)
(and (stringp filename)
    (string-match-p "finder-inf" filename)))
;; (debug)
(message "feature: %S" feature)
(message "load-file-name: %S" load-file-name)
(message "filename: %S" filename)
(message "---"))))

(load (locate-user-emacs-file "my-package-setup.el") nil :nomessage)

=====

Here's the full *Messages* buffer output when running "emacs":
https://gist.github.com/kaushalmodi/debb736534728df7482d4bc1487f2c3e

Here are the relevant lines from that:

=====

Loading
/data/data/com.termux/files/usr/share/emacs/25.0.93/lisp/leim/leim-list.el
(source)...done
Finding pointers to doc strings...done
feature: finder-inf
load-file-name:
"/data/data/com.termux/files/home/.emacs.d/my-package-setup.el"
filename: nil
---
feature: finder-inf
load-file-name:
"/data/data/com.termux/files/usr/share/emacs/25.0.93/lisp/loadup.el"
filename: nil
---
For information about GNU Emacs and the GNU system, type C-h C-a.

=====

When running "emacs", the finder-inf is required twice: once by
my-setup-package.el and second time by loadup.el.

When running "emacs -Q -l init.el" or "emacs -q -l init.el", finder-inf is
required just once, by my-setup-package.el.

Also, here are the patches needed to be done to few .el files for emacs to
work in Termux:
https://github.com/termux/termux-packages/tree/master/packages/emacs

I realized one important piece of info (I think) while reviewing those;
that emacs is running undumped. Could that be a source of this issue? Would
that explain the difference in behavior between "emacs" and "emacs -q -l
~/.emacs.d/init.el"?
-- 

-- 
Kaushal Modi


  reply	other threads:[~2016-05-02  4:20 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-27 18:28 Help debugging a backtrace Kaushal Modi
2016-04-27 19:01 ` Nick Dokos
2016-04-27 19:37   ` Kaushal Modi
2016-04-28 20:59     ` Kaushal Modi
2016-04-29 21:27       ` Michael Heerdegen
2016-04-29 21:36         ` Kaushal Modi
2016-04-29 22:56           ` Kaushal Modi
2016-05-01 14:22             ` Michael Heerdegen
2016-05-01 14:27               ` Michael Heerdegen
2016-05-01 19:05                 ` Kaushal Modi
2016-05-01 20:45                   ` Michael Heerdegen
2016-05-01 21:10                     ` Drew Adams
2016-05-02  4:20                       ` Kaushal Modi [this message]
2016-05-02  4:38                         ` Kaushal Modi
2016-05-02 14:38                           ` Michael Heerdegen
2016-05-02 15:10                             ` Kaushal Modi
2016-05-02 15:33                               ` Eli Zaretskii
     [not found] <mailman.1147.1461781734.7477.help-gnu-emacs@gnu.org>
2016-09-06  7:26 ` rn3aoh.g
2016-09-20 16:15   ` Kaushal Modi
2016-09-21  1:53     ` Jude DaShiell
2016-09-21 17:12       ` Kaushal Modi
2016-09-22 18:52         ` Jude DaShiell

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=CAFyQvY0+tvBs6Mpat+Hq+5QSbxj0BKsrcFHRottjOwYvAZvw5A@mail.gmail.com \
    --to=kaushal.modi@gmail.com \
    --cc=arturmalabarba@gmail.com \
    --cc=drew.adams@oracle.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=michael_heerdegen@web.de \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).