unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#25077: 25.1; Incorrect Edebug spec for c-lang-defvar
@ 2016-11-30 19:20 Gemini Lasswell
  2017-02-04 11:27 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Gemini Lasswell @ 2016-11-30 19:20 UTC (permalink / raw)
  To: 25077

The Edebug spec for c-lang-defvar doesn't allow for the use of
'dont-doc, which prevents the use of Edebug and Testcover on
cc-langs.el.

To reproduce, using emacs -Q starting at the root of the Emacs
sources:

M-: (require 'cc-langs) RET
C-x C-f lisp/progmodes/cc-langs.el RET
C-s dont-doc RET
C-u C-M-x

Result: edebug-syntax-error: Invalid read syntax: stringp, "failed"

I tried this change to the Edebug spec for c-lang-defvar, and it makes
Edebug work on all the c-lang-defvar uses in this file:

(def-edebug-spec c-lang-defvar
  (&define name def-form &optional &or ("quote" "dont-doc") stringp))
  
Alternatively, the 'dont-doc could be removed from the 7 places it is
used. The majority of c-lang-defvar calls simply omit the docstring,
and the code in c-lang-defvar is not doing any checking for dont-doc,
it simply ignores that parameter if it is not a string.


In GNU Emacs 25.1.1 (x86_64-apple-darwin15.6.0, NS appkit-1404.47 Version 10.11.6 (Build 15G1004))
 of 2016-10-09 built on rainbow.local
Windowing system distributor 'Apple', version 10.3.1404
Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs/25.1/share/info/emacs
 --prefix=/usr/local/Cellar/emacs/25.1 --without-x --with-xml2
 --without-dbus --with-gnutls --with-imagemagick --with-rsvg --with-ns
 --disable-ns-self-contained'

Configured features:
JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
cc-langs
Mark saved where search started
edebug-syntax-error: Invalid read syntax: stringp, "failed"

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode mail-prsvr
mail-utils edebug misearch multi-isearch vc-git diff-mode easymenu
easy-mmode cc-langs cc-vars cc-defs cl-loaddefs pcase cl-lib time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel ns-win ucs-normalize term/common-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame
cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote kqueue cocoa ns
multi-tty make-network-process emacs)

Memory information:
((conses 16 213456 7451)
 (symbols 48 21513 0)
 (miscs 40 56 248)
 (strings 32 20403 6753)
 (string-bytes 1 591046)
 (vectors 16 35188)
 (vector-slots 8 670702 4578)
 (floats 8 164 167)
 (intervals 56 443 37)
 (buffers 976 18))





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#25077: 25.1; Incorrect Edebug spec for c-lang-defvar
  2016-11-30 19:20 bug#25077: 25.1; Incorrect Edebug spec for c-lang-defvar Gemini Lasswell
@ 2017-02-04 11:27 ` Eli Zaretskii
  2017-02-04 16:23   ` Alan Mackenzie
  2017-02-18 16:10   ` Alan Mackenzie
  0 siblings, 2 replies; 4+ messages in thread
From: Eli Zaretskii @ 2017-02-04 11:27 UTC (permalink / raw)
  To: Gemini Lasswell, Alan Mackenzie; +Cc: 25077

> From: Gemini Lasswell <gazally@runbox.com>
> Date: Wed, 30 Nov 2016 11:20:28 -0800
> 
> The Edebug spec for c-lang-defvar doesn't allow for the use of
> 'dont-doc, which prevents the use of Edebug and Testcover on
> cc-langs.el.
> 
> To reproduce, using emacs -Q starting at the root of the Emacs
> sources:
> 
> M-: (require 'cc-langs) RET
> C-x C-f lisp/progmodes/cc-langs.el RET
> C-s dont-doc RET
> C-u C-M-x
> 
> Result: edebug-syntax-error: Invalid read syntax: stringp, "failed"
> 
> I tried this change to the Edebug spec for c-lang-defvar, and it makes
> Edebug work on all the c-lang-defvar uses in this file:
> 
> (def-edebug-spec c-lang-defvar
>   (&define name def-form &optional &or ("quote" "dont-doc") stringp))
>   
> Alternatively, the 'dont-doc could be removed from the 7 places it is
> used. The majority of c-lang-defvar calls simply omit the docstring,
> and the code in c-lang-defvar is not doing any checking for dont-doc,
> it simply ignores that parameter if it is not a string.

Alan, could you please look into this?

Thanks.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#25077: 25.1; Incorrect Edebug spec for c-lang-defvar
  2017-02-04 11:27 ` Eli Zaretskii
@ 2017-02-04 16:23   ` Alan Mackenzie
  2017-02-18 16:10   ` Alan Mackenzie
  1 sibling, 0 replies; 4+ messages in thread
From: Alan Mackenzie @ 2017-02-04 16:23 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Gemini Lasswell, 25077

Hello, Eli.

On Sat, Feb 04, 2017 at 13:27:45 +0200, Eli Zaretskii wrote:
> > From: Gemini Lasswell <gazally@runbox.com>
> > Date: Wed, 30 Nov 2016 11:20:28 -0800
> > 
> > The Edebug spec for c-lang-defvar doesn't allow for the use of
> > 'dont-doc, which prevents the use of Edebug and Testcover on
> > cc-langs.el.
> > 
> > To reproduce, using emacs -Q starting at the root of the Emacs
> > sources:
> > 
> > M-: (require 'cc-langs) RET
> > C-x C-f lisp/progmodes/cc-langs.el RET
> > C-s dont-doc RET
> > C-u C-M-x
> > 
> > Result: edebug-syntax-error: Invalid read syntax: stringp, "failed"
> > 
> > I tried this change to the Edebug spec for c-lang-defvar, and it makes
> > Edebug work on all the c-lang-defvar uses in this file:
> > 
> > (def-edebug-spec c-lang-defvar
> >   (&define name def-form &optional &or ("quote" "dont-doc") stringp))
> >   
> > Alternatively, the 'dont-doc could be removed from the 7 places it is
> > used. The majority of c-lang-defvar calls simply omit the docstring,
> > and the code in c-lang-defvar is not doing any checking for dont-doc,
> > it simply ignores that parameter if it is not a string.

> Alan, could you please look into this?

Yes, I will.

> Thanks.

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#25077: 25.1; Incorrect Edebug spec for c-lang-defvar
  2017-02-04 11:27 ` Eli Zaretskii
  2017-02-04 16:23   ` Alan Mackenzie
@ 2017-02-18 16:10   ` Alan Mackenzie
  1 sibling, 0 replies; 4+ messages in thread
From: Alan Mackenzie @ 2017-02-18 16:10 UTC (permalink / raw)
  To: Gemini Lasswell, Eli Zaretskii; +Cc: 25077-done

Hello, Gemini and Eli.

On Sat, Feb 04, 2017 at 13:27:45 +0200, Eli Zaretskii wrote:
> > From: Gemini Lasswell <gazally@runbox.com>
> > Date: Wed, 30 Nov 2016 11:20:28 -0800

> > The Edebug spec for c-lang-defvar doesn't allow for the use of
> > 'dont-doc, which prevents the use of Edebug and Testcover on
> > cc-langs.el.

> > To reproduce, using emacs -Q starting at the root of the Emacs
> > sources:

> > M-: (require 'cc-langs) RET
> > C-x C-f lisp/progmodes/cc-langs.el RET
> > C-s dont-doc RET
> > C-u C-M-x

> > Result: edebug-syntax-error: Invalid read syntax: stringp, "failed"

> > I tried this change to the Edebug spec for c-lang-defvar, and it makes
> > Edebug work on all the c-lang-defvar uses in this file:

> > (def-edebug-spec c-lang-defvar
> >   (&define name def-form &optional &or ("quote" "dont-doc") stringp))

Thanks, both for reporting this bug and for fixing it.  :-)

> > Alternatively, the 'dont-doc could be removed from the 7 places it is
> > used. The majority of c-lang-defvar calls simply omit the docstring,
> > and the code in c-lang-defvar is not doing any checking for dont-doc,
> > it simply ignores that parameter if it is not a string.

After some consideration, I amended the edebug-spec like you suggested,
but also removed the two occurrences of 'dont-doc which had no effect.

I've committed the change to master, and I'm closing this bug as fixed.

> Alan, could you please look into this?

> Thanks.

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-02-18 16:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-30 19:20 bug#25077: 25.1; Incorrect Edebug spec for c-lang-defvar Gemini Lasswell
2017-02-04 11:27 ` Eli Zaretskii
2017-02-04 16:23   ` Alan Mackenzie
2017-02-18 16:10   ` Alan Mackenzie

Code repositories for project(s) associated with this public inbox

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

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).