Subject: bug#15625: closed (Re: bug#15625: 24.2.50; ebnf2ps generates bad postscript when ebnf-production-name-p is nil)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 22 Oct 2013 00:49:05 +0000

Your bug report

#15625: 24.2.50; ebnf2ps generates bad postscript when ebnf-production-name-p is nil

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

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

Subject: Re: bug#15625: 24.2.50; ebnf2ps generates bad postscript when ebnf-production-name-p is nil
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Mon, 21 Oct 2013 20:48:29 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 24.4

Thanks; patch applied.

Subject: 24.2.50; ebnf2ps generates bad postscript when ebnf-production-name-p is nil
From: Michael Gauland <[email-masked]>
To: <[email-masked]>
Date: Wed, 16 Oct 2013 10:09:54 +1300
List-Id: <debbugs-submit.debbugs.gnu.org>

When ebnf-production-name-p is nil, ebnf-eps-buffer should generate a 
diagram without the production name.

Instead, it generates an invalid file; evince hangs when trying to open 
it.

I believe the approporiate fix is to modfiy the BOP function in the 
postscript file to drop the prodcution name when it is blank.

The attached dribble file (started with emacs -Q), demonstrates:
1. Loading ebnf2ps
2. Writing a grammar rule.
3. Running ebnf-eps-buffer to generate ebnf--sequence.eps; this file is 
valid.
4. Setting ebnf-production-name-p to nil.
5. Running ebnf-eps-buffer again; now ebnf--sequence.eps is invalid.
6. Modifying ebnf2ps.el as described above.
7. Reloading ebfn2ps.el.
8. Running ebnf-eps-buffer yet again; now ebnf--sequence.eps is valid, 
and correctly omits the production name from the diagram.

I've also tested this on GNU Emacs 23.4.1 (i486-pc-linux-gnu, GTK+ 
Version 2.24.10) on Debian stable.
Kind Regards,
Mike Gauland

In GNU Emacs 24.2.50.1 (i386-mingw-nt6.1.7601)
  of 2012-08-25 on YAMALOK
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
  `configure --with-gcc (4.7) --cflags -m32 -O2 -g0 -march=prescott
  -mtune=prescott -pipe -IC:/gnuwin32/emacs/include
  -IC:/gnuwin32/emacs/lib -IC:/gnuwin32/src -IC:/gnutls/include
  -IC:/gnutls/lib -IC:/gnutls/bin -IC:/libxml2/include -IC:/libxml2/lib
  -IC:/libxml2/bin --ldflags '

Important settings:
   value of $LANG: ENZ
   locale-coding-system: cp1252
   default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
   tooltip-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 input:
<down-mouse-1> <mouse-1> M-x r e p o r t - e m <tab>
<return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 
mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 disp-table ls-lisp w32-win w32-vars
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer button faces cus-face files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget 
hashtable-print-readable
backquote make-network-process multi-tty emacs)