From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kaushal Modi Newsgroups: gmane.emacs.bugs Subject: bug#23949: 25.0.95; Regression in handling error caused by (string-match-p "." nil) Date: Tue, 12 Jul 2016 18:35:02 +0000 Message-ID: References: <83lh17ati6.fsf@gnu.org> <83h9bvarb6.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a113b1b0c8047f5053774872a X-Trace: ger.gmane.org 1468348589 15261 80.91.229.3 (12 Jul 2016 18:36:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 Jul 2016 18:36:29 +0000 (UTC) Cc: 23949@debbugs.gnu.org To: Eli Zaretskii , Stefan Monnier , schwab@suse.de Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jul 12 20:36:20 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bN2Xa-0006dT-1T for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Jul 2016 20:36:18 +0200 Original-Received: from localhost ([::1]:42655 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN2XZ-0007pZ-Fg for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Jul 2016 14:36:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50900) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN2XP-0007pR-BX for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2016 14:36:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bN2XK-0006GB-M5 for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2016 14:36:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36332) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN2XK-0006G5-I0 for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2016 14:36:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bN2XK-0004l7-BJ for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2016 14:36:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Kaushal Modi Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Jul 2016 18:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23949 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 23949-submit@debbugs.gnu.org id=B23949.146834852218238 (code B ref 23949); Tue, 12 Jul 2016 18:36:02 +0000 Original-Received: (at 23949) by debbugs.gnu.org; 12 Jul 2016 18:35:22 +0000 Original-Received: from localhost ([127.0.0.1]:48669 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bN2Wg-0004k5-94 for submit@debbugs.gnu.org; Tue, 12 Jul 2016 14:35:22 -0400 Original-Received: from mail-oi0-f47.google.com ([209.85.218.47]:36076) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bN2Wc-0004jp-GJ for 23949@debbugs.gnu.org; Tue, 12 Jul 2016 14:35:20 -0400 Original-Received: by mail-oi0-f47.google.com with SMTP id w18so35665613oiw.3 for <23949@debbugs.gnu.org>; Tue, 12 Jul 2016 11:35:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WTm52McVyD8SHRp0MxIJuR7XOLO5/G5Zxc3VZ9QuMcs=; b=UyrXF8sLqqvvXGbi6BBZqi6xEBVh+40tYflJY77ByJzbu2pFEow/AL8XtF8LoRan9K cGdM82svX+Op6air3YLQC0CPLuCjjW361mZzqLhX4AG364kkaN/u0pVG4kTEaa/EbkK/ Ebk2BZ0h0dB9XxF4/A1VD181bywN5lAECmNQdKPyhP2HUj0QoZ0czOBFdroWdIE+cm+f eYPxetNfa9Tz/r6tG+f/tkIXT5uGmk/MlKgFAcqysjAljiBpGhfWA0fg6OTuuvWmc5N+ pHtgRY1OeTz3nTIrwv7rE3gfbMoSnBigkkbPpPhdWgD3FmStYxymz+CxQmRsIOtKQJjv 5P7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WTm52McVyD8SHRp0MxIJuR7XOLO5/G5Zxc3VZ9QuMcs=; b=clgbH+e5mrQ60f59OyfeMLmM0bJDQfzirWfPKkm1Awl2ZvbF2qNFpz1fWca83Q9wxt CFuatZz3obuBzLnXAAJxZ/3G8LDOnLZcC6TE2MeJ7HTmEhv4nmzQCarVjjNhMe0cKV7K 0nHAaIekeSHfhglzpr3YdwSoFDy7P/wEMU3mtMut8pXOHDYx4iaCbu0L6B8JBcRgb+tF 7BgFxOgzfDVMFPBdF3G7Cmz7a/B4joJVbnoXRoZ6qxkRlNHp2RuCVEMopETcEfxbHjxZ t3JyfWBCukAaMOcw9di0nlR27b9Po74ujzKXS7j2087XrXDcM+Ou9X6Eqdi64LATg9qb yFfQ== X-Gm-Message-State: ALyK8tJXA/Ourrm9VRDISUNmb182JXrOWMIRtnuCN48qiH5+w9Uxb8dCmPT31/SFhplN9iLpUSmhFAKKolsPIg== X-Received: by 10.202.82.205 with SMTP id g196mr14331641oib.125.1468348512616; Tue, 12 Jul 2016 11:35:12 -0700 (PDT) In-Reply-To: <83h9bvarb6.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:120941 Archived-At: --001a113b1b0c8047f5053774872a Content-Type: text/plain; charset=UTF-8 On Tue, Jul 12, 2016 at 10:02 AM Eli Zaretskii wrote: > string-match-p just signals an error, because its 2nd arg must be a > string. Look up the backtrace, and you will see that Emacs is trying > to signal an error: > Correct, but that error does not show up within emacs. All the user sees is: Entering debugger... help-function-arglist: End of file during parsing In any case, I believe that that should not happen. Also concerning is the fact that, - (string-match "." nil) gives the expected error backtrace. - But (string-match-p "." nil) gives the help-function-arglist error. What happens next is that Emacs calls the debugger, and then your > advices kick in, starting at apply1. And that's where the trouble > begins. > Correct. That's exactly what I do not understand. > I asked why help-function-arglist is trying to read from a string, but > got no answer. > Sorry, I missed answering that question in my earlier emails; I got too busy with gdb. I do not have answer for that question. I filed this bug report to learn why this happens, and help in any way I can to fix it. >From the below: > "help-function-arglist" (0xffff3f88) > "ad-arglist" (0xffff44c0) > "ad-make-advised-definition" (0xffff4a70) > "ad-activate-advised-definition" (0xffff4fc0) > "ad-activate" (0xffff5500) > "projectile-mode" (0xffff5a50) , the advices in the projectile package are causing this. I grepped the projectile source, and it contains only 2 advices. (1) (defadvice compilation-find-file (around projectile-compilation-find-file) "Try to find a buffer for FILENAME, if we cannot find it, fallback to the original function." (let ((filename (ad-get-arg 1))) (ad-set-arg 1 (or (if (file-exists-p (expand-file-name filename)) filename) ;; Try to find the filename using projectile (and (projectile-project-p) (let ((root (projectile-project-root)) (dirs (cons "" (projectile-current-project-dirs)))) (-when-let (full-filename (->> dirs (--map (expand-file-name filename (expand-file-name it root))) (-filter #'file-exists-p) (-first-item))) full-filename))) ;; Fall back to the old argument filename)) ad-do-it)) (2) (defadvice delete-file (before purge-from-projectile-cache (filename &optional trash)) (if (and projectile-enable-caching (projectile-project-p)) (let* ((project-root (projectile-project-root)) (true-filename (file-truename filename)) (relative-filename (file-relative-name true-filename project-root))) (if (projectile-file-cached-p relative-filename project-root) (projectile-purge-file-from-cache relative-filename))))) As I started using advices only after emacs 24.4, I never learned the old advice style. So I hoped someone experienced with these would help connect the dots between invalid arg error for string-match-p and help-function-arglist error. @Stefan? Also, with the exact same projectile version, I do *not* get the misleading help-function-arglist error on emacs 24.5. So something probably changed in the way major mode hooks are run in the debugger since then? Sorry, I see no bug yet, just a lot of ad-FOO stuff that tries to do > something silly during an error, when it should have moved out of the > way. If there is a bug, its root cause hides inside > help-function-arglist, Copying Stefan to help throw some light on this. > and the way it is called by the advices you (or > maybe it's Projectile?) have set up. The minimal code I posted was run in emacs -Q. So the only effective advices are the ones in Projectile; I have pasted the code for those 2 advices above for reference. > That's where we should be > looking, not in string-match-p, which did what it was supposed to do: > signaled an error when called with nil instead of a string. > But then it would be interesting to know why (string-match "." nil) instead does not cause the help-function-arglist error. Here is the backtrace on evaluating ===== (emacs-q-template '(projectile) (projectile-global-mode) (string-match-p "." nil)) ===== (Code for the emacs-q-template macro is in my previous email in this thread.) Backtrace: ===== Debugger entered--Lisp error: (wrong-type-argument stringp nil) string-match("." nil nil) string-match-p("." nil) (progn (require (quote package)) (setq package-user-dir (concat ... eval((progn (require (quote package)) (setq package-user-dir (concat ... eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp nil nil) command-execute(eval-last-sexp) ===== (I do not get this backtrace in emacs 25.x; above is from emacs 24.5.) And here is the backtrace for evaluating the same when using string-match instead of string-match-p in emacs 24.5: ===== (emacs-q-template '(projectile) (projectile-global-mode) (string-match "." nil)) ===== Backtrace: ===== Debugger entered--Lisp error: (wrong-type-argument stringp nil) string-match("." nil) (progn (require (quote package)) (setq package-user-dir (concat ... eval((progn (require (quote package)) (setq package-user-dir (concat ... eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp nil nil) command-execute(eval-last-sexp) ===== In the former case, it was string-match("." nil nil) In the latter case, it was, string-match("." nil) Do those 2 consecutive 'nil's somehow throw off the debugger/ad-arglist/help-function-arglist in emacs 25.x? On Tue, Jul 12, 2016 at 10:15 AM Andreas Schwab wrote: > > $15 = 54138084 > > (gdb) xstring > > This is only valid if $ is a Lisp_String. Use xtype to find out. > Hi Andreas, Thanks for looking into this bug thread. I have close to 0 experience with gdb. I typed 'xtype' for the same frame and this is what I got: (gdb) xstring $16 = (struct Lisp_String *) 0x33a14e0 "(nilory is relative, it is com" (gdb) xtype Argument to arithmetic operation not a number or boolean. (gdb) I do not know what to make out of that. Let me know if there are any other gdb commands that I can use to give you more helpful debug info. Thanks everyone. -- -- Kaushal Modi --001a113b1b0c8047f5053774872a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Tue= , Jul 12, 2016 at 10:02 AM Eli Zaretskii <eliz@gnu.org> wrote:
strin= g-match-p just signals an error, because its 2nd arg must be a
string.=C2=A0 Look up the backtrace, and you will see that Emacs is trying<= br> to signal an error:

Correct, but that e= rror does not show up within emacs. All the user sees is:

Entering debugger...
help-function-arglist: End of f= ile during parsing

In any case, I believe th= at that should not happen.

Also concerning is the = fact that,

- (stri= ng-match "." nil) gives the expected error backtrace.
<= /div>
- But=C2=A0(string-match-p "= ." nil) gives the help-function-arglist error.=C2=A0
=
What happens next is that Emacs calls the debugger, and then your
advices kick in, starting at apply1.=C2=A0 And that's where the trouble=
begins.

Correct. That's exactly wha= t I do not understand.=C2=A0
=C2=A0
I asked why help-function-arglist is trying to read from a string, but
got no answer.

Sorry, I missed answerin= g that question in my earlier emails; I got too busy with gdb.
I do not have answer for that question. I filed this bug repor= t to learn why this happens, and help in any way I can to fix it.

From the below:

>=C2=A0"help-function-argli= st" (0xffff3f88)
= > "ad-arglist" (0xffff44c0)
>=C2=A0"= ad-make-advised-definition" (0xffff4a70)
>=C2=A0&= quot;ad-activate-advised-definition" (0xffff4fc0)
>=C2= =A0"ad-activate" (0xffff5500)
>=C2=A0= "projectile-mode" (0xffff5a50)

, the adv= ices in the projectile package are causing this. I grepped the projectile s= ource, and it contains only 2 advices.

(1)
(defadvice compilation-find-file (around projectile-compilation-fin= d-file)
=C2=A0 "Try to find a buffer for FILENAME, if we can= not find it,
fallback to the original function."
= =C2=A0 (let ((filename (ad-get-arg 1)))
=C2=A0 =C2=A0 (ad-set-arg= 1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (or
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(if (= file-exists-p (expand-file-name filename))
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0filename)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Try to fin= d the filename using projectile
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(and (projectile-project-p)
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (let= ((root (projectile-project-root))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (dirs= (cons "" (projectile-current-project-dirs))))
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 (-when-let (full-filename (->> dirs
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(--map (expand-file-name filename (expand-fi= le-name it root)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0(-filter #'file-exists-p)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0(-first-item)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 full-filename))= )
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;= ; Fall back to the old argument
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0filename))
=C2=A0 =C2=A0 ad-do-it)= )

(2)
(defadvice delete-file = (before purge-from-projectile-cache (filename &optional trash))
=C2=A0 (if (and projectile-enable-caching (projectile-project-p))
<= div>=C2=A0 =C2=A0 =C2=A0 (let* ((project-root (projectile-project-root))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(true-filename (fil= e-truename filename))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(relative-filename (file-relative-name true-filename project-root)))<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (projectile-file-cached-p relativ= e-filename project-root)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 (projectile-purge-file-from-cache relative-filename)))))

As I started using advices only after emacs 24.4, I never = learned the old advice style. So I hoped someone experienced with these wou= ld help connect the dots between invalid arg error for string-match-p and h= elp-function-arglist error. @Stefan?

Also, with th= e exact same projectile version, I do *not* get the misleading=C2=A0help-function-arglist error on emacs 24.5. So some= thing probably changed in the way major mode hooks are run in the debugger = since then?

Sorry, I see no bug yet, just a lot of ad-FOO stuff that tries to do
something silly during an error, when it should have moved out of the
way.=C2=A0 If there is a bug, its root cause hides inside
help-function-arglist,

Copying Stefan to he= lp throw some light on this.
=C2=A0
and the way it is called by the advices you (or
maybe it's Projectile?) have set up.=C2=A0

=
The minimal code I posted was run in emacs -Q. So the only effective a= dvices are the ones in Projectile; I have pasted the code for those 2 advic= es above for reference.
=C2=A0
(emacs-q-template '(projectile)
=C2=A0 (projectile-global-mode)
=C2=A0 (string-match-p "." nil))
=3D=3D=3D=3D=3D
(Code for the emacs-q-template macro is= in my previous email in this thread.)

Backtra= ce:=C2=A0=C2=A0
=3D=3D=3D= =3D=3D
Debugger entered-= -Lisp error: (wrong-type-argument stringp nil) =C2=A0=C2=A0
strin= g-match("." nil nil) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
string-match-p("." nil) = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0
(progn (require (quote package)) (setq package-user-dir (c= oncat ...
eval((progn (require (quote package)) (setq package-use= r-dir (concat ...
eval-last-sexp-1(nil) =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
eva= l-last-sexp(nil) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
call-interactively(eval-las= t-sexp nil nil) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0
command-execute(eval-last-sexp) =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
=3D=3D=3D=3D=3D
(I do not get this backtrace in emacs 25.x; above is from emacs 24= .5.)

And here is the backtrace for evaluating the sam= e when using string-match instead of string-match-p in emacs 24.5:

=3D=3D=3D=3D=3D
(emacs-q-template '(projectile)
=C2=A0 (projectile-global-mode)
=C2=A0 (string-match "."= ; nil))
=3D=3D=3D=3D=3D=

Backtrace:
=3D=3D=3D=3D=3D

Debugger en= tered--Lisp error: (wrong-type-argument stringp nil) =C2=A0 =C2=A0
=C2=A0 string-match("." nil) =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
=C2=A0= (progn (require (quote package)) (setq package-user-dir (concat ...=
=C2=A0 eval((progn (require (quote package)) (setq package-us= er-dir (concat ...
=C2=A0 eval-last-sexp-1(nil) =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
=C2=A0 eval-last-sexp(nil) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
=C2=A0 c= all-interactively(eval-last-sexp nil nil) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
=C2=A0 c= ommand-execute(eval-last-sexp) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
=3D=3D=3D=3D=3D

In the former case, it was
<= br>
=C2=A0 string-match("= ;." nil nil) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0

In the latter case, it was,

<= span style=3D"font-size:small">=C2=A0 string-match("." nil)=C2=A0

Do those 2 consecutive 'nil's som= ehow throw off the debugger/ad-arglist/help= -function-arglist in emacs 25.x?

--001a113b1b0c8047f5053774872a--