[elpa] externals/bnf-mode e898672 73/74: Removed no longer needed local variables

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit e898672a3f6d3516e8ee80e48def3151d85bed13
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Removed no longer needed local variables
---
 bnf-mode.el | 5 -
 1 file changed, 5 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index 8b24758..9fb3247 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -279,9 +279,4 @@ Will be used only if `bnf-mode-algol-comments-style' is set 
to t")
 (add-to-list 'auto-mode-alist '("\\.bnf\\'" . bnf-mode))
 
 (provide 'bnf-mode)
-
-;; Local Variables:
-;; firestarter: ert-run-tests-interactively
-;; End:
-
 ;;; bnf-mode.el ends here



[elpa] externals/bnf-mode a3a77e3 29/74: In the BNF there are no grouping brackets except angle ones. Fixed

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit a3a77e363ba3120e89a5161f62fd70af912ae2f5
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

In the BNF there are no grouping brackets except angle ones. Fixed
---
 CHANGELOG.org |  5 +++--
 bnf-mode.el   | 12 ++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 26d2302..6daf61d 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -7,8 +7,9 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
 *** Fixed
-- Original BNF has no strings so treat ~'~ and ~"~ as a symbols
+- In the BNF there are no strings so treat ~'~ and ~"~ as a symbols
 - Minor code cleanup: removed no longer needed ~comment-*~ variables
+- In the BNF there are no grouping brackets except angle ones. Fixed
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...0.3.1][0.3.1]] - 
2019-03-17
 *** Fixed
@@ -20,7 +21,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...0.2.0][0.2.0]] - 
2019-03-16
 *** Changed
-- Comments are no longer use syntax table.  For more see `comment-use-syntax'
+- Comments are no longer use syntax table.  For more see ~comment-use-syntax~
 
 *** Fixed
 - Changed comment syntax from ~#~ to ~;~ to follow 
[[https://tools.ietf.org/html/rfc822#section-2.8][RFC822#2.8]]
diff --git a/bnf-mode.el b/bnf-mode.el
index 85085da..6260dd1 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -195,10 +195,18 @@ See `rx' documentation for more information about REGEXPS 
param."
 (modify-syntax-entry ?\=  "_"   table)
 ;; Treat | as a symbol
 (modify-syntax-entry ?\|  "_"   table)
-;; BNF has no strings so treat ' and "
-;; as a symbols
+;; In the BNF there are no strings
+;; so treat ' and " as a symbols
 (modify-syntax-entry ?\"  "_"  table)
 (modify-syntax-entry ?\'  "_"  table)
+;; In the BNF there are no grouping
+;; brackets except angle ones
+(modify-syntax-entry ?\(  "_"  table)
+(modify-syntax-entry ?\)  "_"  table)
+(modify-syntax-entry ?\{  "_"  table)
+(modify-syntax-entry ?\}  "_"  table)
+(modify-syntax-entry ?\[  "_"  table)
+(modify-syntax-entry ?\]  "_"  table)
 ;; Group angle brackets
 (modify-syntax-entry ?\<  "(>"  table)
 (modify-syntax-entry ?\>  ")<"  table)



[elpa] externals/bnf-mode 3e48f65 27/74: BNF has no strings. Treat ' and " as a symbols

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 3e48f6520f5a1ec4bbb324a72adc2741ad16f24b
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

BNF has no strings. Treat ' and " as a symbols
---
 CHANGELOG.org  |  3 +++
 bnf-mode.el| 10 ++
 test/bnf-mode-font-test.el |  8 ++--
 test/test-helper.el|  2 +-
 4 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index c2fcffb..fb0f271 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,9 @@ All notable changes to this project will be documented in this 
file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
+*** Fixed
+- Original BNF has no strings so treat ~'~ and ~"~ as a symbols
+
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...0.3.1][0.3.1]] - 
2019-03-17
 *** Fixed
 - Fixed BNF rule name definition to follow 
[[https://www.masswerk.at/algol60/report.htm][ALGOL 60 report]]
diff --git a/bnf-mode.el b/bnf-mode.el
index f078872..1c41ea0 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.1
+;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (pkg-info "0.4") (emacs "24.3"))
@@ -187,9 +187,7 @@ See `rx' documentation for more information about REGEXPS 
param."
   (let ((table (make-syntax-table)))
 ;; Give CR the same syntax as newline
 (modify-syntax-entry ?\^m "> b" table)
-;; Characters used to delimit string constants
-(modify-syntax-entry ?\"  "\""  table)
-;; Comments setup (see RFC822#2.8)
+;; Comments setup
 (modify-syntax-entry ?\;  "<"   table)
 (modify-syntax-entry ?\n  ">"   table)
 ;; Treat ::= as sequence of symbols
@@ -197,6 +195,10 @@ See `rx' documentation for more information about REGEXPS 
param."
 (modify-syntax-entry ?\=  "_"   table)
 ;; Treat | as a symbol
 (modify-syntax-entry ?\|  "_"   table)
+;; BNF has no strings so treat ' and "
+;; as a symbols
+(modify-syntax-entry ?\"  "_"  table)
+(modify-syntax-entry ?\'  "_"  table)
 ;; Group angle brackets
 (modify-syntax-entry ?\<  "(>"  table)
 (modify-syntax-entry ?\>  ")<"  table)
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 727e147..02f1ac7 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.1
+;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is not part of GNU Emacs.
@@ -38,7 +38,11 @@
 
 (ert-deftest bnf-mode-syntax-table/fontify-strings ()
   :tags '(fontification syntax-table)
-  (should (eq (bnf-test-face-at 11 " ::= \"bar\"") 
'font-lock-string-face)))
+  (bnf-test-with-temp-buffer " ::= \" | ' | ` | ”"
+ (should-not (bnf-test-face-at 23))
+ (should-not (bnf-test-face-at 27))
+ (should-not (bnf-test-face-at 31))
+ (should-not (bnf-test-face-at 35
 
 (ert-deftest bnf-mode-syntax-table/fontify-line-comment ()
   :tags '(fontification syntax-table)
diff --git a/test/test-helper.el b/test/test-helper.el
index 6227629..6480f75 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.1
+;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is not part of GNU Emacs.



[elpa] externals/bnf-mode f0a3cd7 03/74: Add CHANGELOG file

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit f0a3cd790e5166f46f7ef5fb3118a9e588d21f49
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Add CHANGELOG file
---
 CHANGELOG.org | 7 +++
 README.org| 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
new file mode 100644
index 000..0e2f33f
--- /dev/null
+++ b/CHANGELOG.org
@@ -0,0 +1,7 @@
+#+TITLE: Change Log
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
+
+## [Unreleased]
diff --git a/README.org b/README.org
index a201f07..532651c 100644
--- a/README.org
+++ b/README.org
@@ -1,6 +1,6 @@
 #+TITLE: BNF Mode for GNU Emacs
 
 
[[https://www.gnu.org/licenses/gpl-3.0.txt][https://img.shields.io/badge/license-GPL_3-green.svg]]
-[[https://travis-ci.org/sergeyklay/bnf-mode][https://travis-ci.com/sergeyklay/bnf-mode.svg]]
+[[https://travis-ci.com/sergeyklay/bnf-mode][https://travis-ci.com/sergeyklay/bnf-mode.svg]]
 
 Work In Progress



[elpa] externals/bnf-mode c90b14d 26/74: Correct documentation to follow code style guide.

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit c90b14d1d9b868784f3dda072a5120c2b00b288c
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Correct documentation to follow code style guide.

For more see Emacs documentation: D.6 Tips for Documentation Strings
---
 README.org  |  2 +-
 bnf-mode.el | 23 +++
 2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/README.org b/README.org
index c3f2ade..31070c8 100644
--- a/README.org
+++ b/README.org
@@ -16,7 +16,7 @@ Currently provides basic syntax and font-locking for BNF 
files. BNF notation is
 supported exactly form as it was first announced in the ALGOL 60 report.
 EBNF and ABNF are not supported but  in my plans for the near future.
 
-When developing this mode, the following RFCs were taken into account:
+When developing this mode, the following documents were taken into account:
 
 - [[https://www.masswerk.at/algol60/report.htm][Revised Report on the 
Algorithmic Language Algol 60]]
 - [[https://tools.ietf.org/html/rfc822][RFC822]]: Standard for ARPA Internet 
Text Messages
diff --git a/bnf-mode.el b/bnf-mode.el
index 4f1ba12..f078872 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -34,28 +34,27 @@
 ;; provides basic syntax and font-locking for BNF files.  BNF notation is
 ;; supported exactly form as it was first announced in the ALGOL 60 report.
 ;;
-;; When developing this mode, the following RFCs were taken into account:
+;; When developing this mode, the following documents were taken into account:
 ;;
-;; - RFC822: Standard for ARPA Internet Text Messages [1]
-;; - RFC5234: Augmented BNF for Syntax Specifications: ABNF [2]
+;; - RFC822: Standard for ARPA Internet Text Messages
+;;   (see URL `https://www.ietf.org/rfc/rfc822.txt')
+;; - RFC5234: Augmented BNF for Syntax Specifications: ABNF
+;;   (see URL `https://www.ietf.org/rfc/rfc5234.txt')
 ;; - FRC7405: Case-Sensitive String Support in ABNF [3]
-;; - Revised Report on the Algorithmic Language Algol 60 [4]
-;;
-;; [1]: https://www.ietf.org/rfc/rfc822.txt
-;; [2]: https://www.ietf.org/rfc/rfc5234.txt
-;; [3]: https://www.ietf.org/rfc/rfc7405.txt
-;; [4]: https://www.masswerk.at/algol60/report.htm
+;;   (see URL `https://www.ietf.org/rfc/rfc7405.txt')
+;; - Revised Report on the Algorithmic Language Algol 60
+;;   (see URL `https://www.masswerk.at/algol60/report.htm')
 ;;
 ;; Usage:  Put this file in your Emacs Lisp path (eg. site-lisp) and add to
 ;; your .emacs file:
 ;;
 ;;   (require 'bnf-mode)
 ;;
-;; Bugs: Bug tracking is currently handled using the GitHub issue tracker at
-;; https://github.com/sergeyklay/bnf-mode/issues
+;; Bugs: Bug tracking is currently handled using the GitHub issue tracker
+;; (see URL `https://github.com/sergeyklay/bnf-mode/issues')
 ;;
 ;; History: History is tracked in the Git repository rather than in this file.
-;; See https://github.com/sergeyklay/bnf-mode/blob/master/CHANGELOG.org
+;; See URL `https://github.com/sergeyklay/bnf-mode/blob/master/CHANGELOG.org'
 
 ;;; Code:
 



[elpa] externals/bnf-mode a7df2dd 17/74: Fontify sequences

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit a7df2dd02281b58e73774cf40d2f795253517fa5
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Fontify sequences
---
 bnf-mode.el| 10 --
 test/bnf-mode-font-test.el | 19 +++
 2 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index 32e74ec..12550b4 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -165,16 +165,14 @@ See `rx' documentation for more information about REGEXPS 
param."
"::="))
  1 font-lock-function-name-face)
 ;; RHS nonterminals
-(,(bnf-rx (and "::="
-   (1+ space)
+(,(bnf-rx (and (1+ space)
"<"
(group rulename)
">"))
  1 font-lock-builtin-face)
- ;; Regarding to RFC5234#2.1 angle brackets
- ;; (“<”, “>”) for RHS nonterminals are optional.
- (,(bnf-rx (and "::="
-   (1+ space)
+;; Regarding to RFC5234#2.1 angle brackets
+;; (“<”, “>”) for RHS nonterminals are optional.
+(,(bnf-rx (and (1+ space)
(group rulename)))
  1 font-lock-builtin-face)
 ;; “may expand into” symbol
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 23c5bd9..cfe18d2 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -114,6 +114,25 @@ angle-brackets ::= are-optional"
  (should (eq (bnf-test-face-at 8) 
'font-lock-function-name-face))
  (should-not (bnf-test-face-at 9
 
+(ert-deftest bnf-mode-syntax-table/fontify-sequence ()
+  :tags '(fontification syntax-table)
+  (bnf-test-with-temp-buffer "rule ::= foo bar baz"
+ ;; “rule”
+ (should (eq (bnf-test-face-at 1) 
'font-lock-function-name-face))
+ (should (eq (bnf-test-face-at 4) 
'font-lock-function-name-face))
+ ;; “foo”
+ (should (eq (bnf-test-face-at 10) 
'font-lock-builtin-face))
+ (should (eq (bnf-test-face-at 12) 
'font-lock-builtin-face))
+ ;; space
+ (should-not (bnf-test-face-at 13))
+ ;; “bar”
+ (should (eq (bnf-test-face-at 14) 
'font-lock-builtin-face))
+ (should (eq (bnf-test-face-at 16) 
'font-lock-builtin-face))
+ ;; space
+ (should-not (bnf-test-face-at 17))
+ ;; “baz”
+ (should (eq (bnf-test-face-at 18) 
'font-lock-builtin-face))
+ (should (eq (bnf-test-face-at 10) 
'font-lock-builtin-face
 
 (provide 'bnf-mode-font-test)
 



[elpa] externals/bnf-mode f95ec5f 69/74: Improved preparing package

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit f95ec5f3457a8105e14fb696032b67136f4fef00
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Improved preparing package
---
 .gitignore |  1 +
 Makefile   | 11 +++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index d650495..c072166 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,4 +11,5 @@
 bnf-mode.info
 bnf-mode-pkg.el
 bnf-mode-*.tar
+ChangeLog
 README
diff --git a/Makefile b/Makefile
index c7daeba..f840f6c 100644
--- a/Makefile
+++ b/Makefile
@@ -81,12 +81,15 @@ $(ARCHIVE_NAME).info: README.org
$(call org-clean,$^) | $(PANDOC) $(PANDOCLAGS) -t texinfo | makeinfo -o 
$@
 
 README: README.org
-   $(call org-clean,$^) | $(PANDOC) $(PANDOCLAGS) -t plain -o $@
+   $(call org-clean,$^) | $(PANDOC) $(PANDOCLAGS) -t plain | sed -e 
"s/\[\]//g" > $@
+
+ChangeLog: CHANGELOG.org
+   $(call org-clean,$^) | $(PANDOC) $(PANDOCLAGS) -t plain | sed -e 
"s/\[\]//g" > $@
 
 $(ARCHIVE_NAME)-pkg.el: $(ARCHIVE_NAME).el
$(CASK) pkg-file
 
-$(PACKAGE_NAME).tar: README $(ARCHIVE_NAME).el $(ARCHIVE_NAME)-pkg.el 
$(ARCHIVE_NAME).info dir
+$(PACKAGE_NAME).tar: README ChangeLog LICENSE $(ARCHIVE_NAME).el 
$(ARCHIVE_NAME)-pkg.el $(ARCHIVE_NAME).info dir
$(TAR) -c -s "@^@$(PACKAGE_NAME)/@" -f $(PACKAGE_NAME).tar $^
 
 # Public targets
@@ -112,7 +115,7 @@ test:
 .PHONY: clean
 clean:
$(CASK) clean-elc
-   $(RM) -f README $(ARCHIVE_NAME).info
+   $(RM) -f README ChangeLog $(ARCHIVE_NAME).info
$(RM) -f $(ARCHIVE_NAME)-pkg.el $(ARCHIVE_NAME)-*.tar
 
 .PHONY: package
@@ -124,7 +127,7 @@ install: $(PACKAGE_NAME).tar
 
 .PHONY: help
 help: .title
-   echo 'Run `make init` first to install and update all local 
dependencies.'
+   echo 'Run "make init" first to install and update all local 
dependencies.'
echo ''
echo 'Available targets:'
echo '  help: Show this help and exit'



[elpa] externals/bnf-mode 1dda3ef 40/74: Provide ability to make plain text README

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 1dda3ef5f837959d007512d1278a02cf5babfe8e
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Provide ability to make plain text README
---
 .gitignore  |  2 ++
 Makefile| 18 --
 README.org  | 15 +++
 bnf-mode.el |  2 +-
 4 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/.gitignore b/.gitignore
index ff957d8..87befbc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,5 @@
 *~
 *.elc
 .cask/
+README
+README.org2
diff --git a/Makefile b/Makefile
index b3b7887..cd6314d 100644
--- a/Makefile
+++ b/Makefile
@@ -21,8 +21,14 @@
 
 SHELL := $(shell which bash)
 ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST
+
 EMACS := emacs
 CASK = cask
+PANDOC ?= pandoc \
+   --fail-if-warnings \
+   --reference-links \
+   --atx-headers
+
 EMACSFLAGS ?=
 TESTFLAGS ?=
 PKGDIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
@@ -31,6 +37,8 @@ PKGDIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
 SRCS = bnf-mode.el
 OBJS = $(SRCS:.el=.elc)
 
+VERSION ?= $(shell $(CASK) version)
+
 .SILENT: ;   # no need for @
 .ONESHELL: ; # recipes execute in same shell
 .NOTPARALLEL: ;  # wait for this target to finish
@@ -60,12 +68,17 @@ $(PKGDIR): Cask
$(CASK) install
touch $(PKGDIR)
 
+README: README.org2
+   $(PANDOC) -f org+empty_paragraphs -t plain -o $@ $^
+
+README.org2: README.org
+   $(shell cat $^ | sed -e "s/\[\[.*\.svg\]\]//g"  > $@)
+
 # Public targets
 
 .PHONY: .title
 .title:
-   $(info BNF Mode $(shell cat $(ROOT_DIR)/$(SRCS) | grep ";; Version:" | 
awk -F': ' '{print $$2}'))
-   $(info )
+   $(info BNF Mode $(VERSION))
 
 .PHONY: init
 init: $(PKGDIR)
@@ -84,6 +97,7 @@ test:
 .PHONY: clean
 clean:
$(CASK) clean-elc
+   $(RM) -f README README.org2
 
 .PHONY: help
 help: .title
diff --git a/README.org b/README.org
index 607cbb2..08e26c2 100644
--- a/README.org
+++ b/README.org
@@ -1,5 +1,4 @@
-#+TITLE: BNF Mode for GNU Emacs
-#+AUTHOR: Serghei Iakovlev
+* BNF Mode for GNU Emacs
 
 
[[https://www.gnu.org/licenses/gpl-3.0.txt][https://img.shields.io/badge/license-GPL_3-green.svg]]
 
[[https://travis-ci.com/sergeyklay/bnf-mode][https://travis-ci.com/sergeyklay/bnf-mode.svg]]
@@ -58,7 +57,7 @@ Stable:
 (package-initialize)
 #+end_src
 
-For those who want rolling releases as they happen use MELPA :
+For those who want rolling releases as they happen use MELPA:
 
 #+begin_src emacs-lisp
 (require 'package)
@@ -72,7 +71,7 @@ the package listing and install ~bnf-mode~ from there.  MELPA 
tracks this Git re
 and updates relatively soon after each commit or formal release.  For more 
detail on
 setting up see [[https://melpa.org/#/getting-started][MELPA Getting Started]].
 
-You can install ~bnf-mode~ manually by adding following to your init file :
+You can install ~bnf-mode~ manually by adding following to your init file:
 
 #+begin_src emacs-lisp
 (unless (package-installed-p 'bnf-mode)
@@ -82,7 +81,7 @@ You can install ~bnf-mode~ manually by adding following to 
your init file :
 
  Using Cask
 
-Add following to your [[https://cask.github.io/][Cask]] file :
+Add following to your [[https://cask.github.io/][Cask]] file:
 
 #+begin_src emacs-lisp
 (source melpa)
@@ -92,7 +91,7 @@ Add following to your [[https://cask.github.io/][Cask]] file :
 
  Using use-package
 
-Add following to your init file :
+Add following to your init file:
 
 #+begin_src emacs-lisp
 (use-package bnf-mode
@@ -103,7 +102,7 @@ Add following to your init file :
 *** El-get
 
 
-If you use el-get, just create a recipe file ~bnf.rcp~ :
+If you use el-get, just create a recipe file ~bnf.rcp~:
 
 #+begin_src emacs-lisp
 (:name bnf-mode
@@ -114,7 +113,7 @@ If you use el-get, just create a recipe file ~bnf.rcp~ :
 #+end_src
 
 and add it to a directory present in ~el-get-recipe-path~.
-Then, use ~M-x el-get-install  bnf-mode~ or add :
+Then, use ~M-x el-get-install  bnf-mode~ or add:
 
 #+begin_src emacs-lisp
 (el-get-bundle bnf-mode)
diff --git a/bnf-mode.el b/bnf-mode.el
index a2188fd..d589f66 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -1,4 +1,4 @@
-;;; bnf-mode.el --- Major mode for editing BNF grammars -*- lexical-binding: 
t; -*-
+;;; bnf-mode.el --- Major mode for editing BNF grammars. -*- lexical-binding: 
t; -*-
 
 ;; Copyright (C) 2019 Serghei Iakovlev
 



[elpa] externals/bnf-mode fd83621 20/74: Bump version

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit fd836210c88e49a7754779c481efb62ddaecc2cd
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Bump version
---
 CHANGELOG.org  | 4 ++--
 README.org | 7 +++
 bnf-mode.el| 5 +++--
 test/bnf-mode-font-test.el | 2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 8334f11..4704a7a 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -5,8 +5,8 @@ All notable changes to this project will be documented in this 
file.
 
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
-** [[https://github.com/sergeyklay/bnf-mode/compare/0.2.0...HEAD][Unreleased]]
-
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...HEAD][Unreleased]]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.2.0...0.3.0][0.3.0]] - 
2019-03-17
 *** Changed
 - LHS nonterminals may be preceded by an unlimited number of spaces
 
diff --git a/README.org b/README.org
index 8c37260..ecf5140 100644
--- a/README.org
+++ b/README.org
@@ -12,10 +12,9 @@ A GNU Emacs major mode for editing BNF grammars.
 Richard Feynman
 #+end_quote
 
-Currently provides basic syntax and font-locking for BNF files.
-EBNF and ABNF are in my plans for the near future.  At this time BNF Mode
-is not an absolutely accurate implementation of the standards and
-recommendations, but I'll try to be as close to them as possible.
+Currently provides basic syntax and font-locking for BNF files. BNF notation is
+supported exactly form as it was first announced in the ALGOL 60 report.
+EBNF and ABNF are not supported but  in my plans for the near future.
 
 When developing this mode, the following RFCs were taken into account:
 
diff --git a/bnf-mode.el b/bnf-mode.el
index 1585922..88cbd05 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.2.0
+;; Version: 0.3.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (pkg-info "0.4") (emacs "24.3"))
@@ -31,7 +31,8 @@
 ;;; Commentary:
 
 ;;   GNU Emacs major mode for editing BNF grammars.  Currently this mode
-;; provides basic syntax and font-locking for BNF files.
+;; provides basic syntax and font-locking for BNF files.  BNF notation is
+;; supported exactly form as it was first announced in the ALGOL 60 report.
 ;;
 ;; When developing this mode, the following RFCs were taken into account:
 ;;
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 25cc3d4..dd8a399 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.2.0
+;; Version: 0.3.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is not part of GNU Emacs.



[elpa] externals/bnf-mode 3a46f17 36/74: Correct documentation

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 3a46f17fb075b7ad2cf74b09b521a13f861d2a62
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Correct documentation
---
 README.org | 1 -
 1 file changed, 1 deletion(-)

diff --git a/README.org b/README.org
index 22bb9be..797451d 100644
--- a/README.org
+++ b/README.org
@@ -118,7 +118,6 @@ Add following to your init file:
 | Command (For the ~M-x~ prompt.) | Description  |
 |-+--|
 | ~bnf-mode~  | Switches to BNF Mode.|
-| ~bnf-mode-version~  | Print version info for BNF Mode. |
 
 Any file that matches the glob ~*.bnf~ is automatically opened in ~bnf-mode~.
 



[elpa] externals/bnf-mode f00edff 56/74: Prepare deploy on Travis CI

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit f00edff7c092ceb37032e525ea74c2b94c86141b
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Prepare deploy on Travis CI
---
 .travis.yml | 16 
 1 file changed, 16 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 2a4c049..8f210d9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -84,5 +84,21 @@ script:
   - make package
   - ls -al
 
+before_deploy:
+  - git config --global user.name cicdbot
+  - git config --global user.email t...@zephir-lang.com
+
+deploy:
+  provider: releases
+  api_key:
+secure:
+  
SUFVzrJwPz29I6x4SFB5vNboKxX8pEIdB67+d6w4/hgeifYbDl7BSWLq1HFYvTIIye439uVCIN0zkwNGFUJsjIfw4Yn0N3dasgD7dlxguUz7mBg5JV8BOzQqguv/XmY3ze2aXTkk+nbx37wvTt5SsGOyq9pT/Vrufxli7YbAglFl648Nc8fshQSioBpQKWXTD3Msgs5QNjM6ShAgeEA11GBaRgO2aZaokxv+9xsdM00O7ADHulaC+jniO3BucQrENQeGI5mLIzPZdHpfOrlQ600J4jU3cC8C7NTgkQDBpNhN5eiDallvHxTl0sb5EvTwznMAGi+YXGmorgkCnGT+glnj1zWYaV2T4O038h7xT/Kub/iSpi3GQVmxMNrS09JbZXuQcXyvyvNPYJhQZG8M8MYPb1N7u6MfMav88SDTZkxGzJ9gI5l4CyPaMAO2GdVdXeY0ANGtyg7ntDZpFtxIRRjIpSthU/QQ3Ss0yL
 [...]
+  file_glob: true
+  file: bnf-mode-*.tar
+  skip_cleanup: true
+  on:
+tags: true
+repo: sergeyklay/bnf-mode
+
 notifications:
   email: false



[elpa] externals/bnf-mode aa2c7a2 30/74: Correct change log formatting [ci skip]

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit aa2c7a262f5977ecd89002eb4f52bb29521f2bd2
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Correct change log formatting [ci skip]
---
 CHANGELOG.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 6daf61d..cdfc3d5 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -7,7 +7,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
 *** Fixed
-- In the BNF there are no strings so treat ~'~ and ~"~ as a symbols
+- In the BNF there are no strings so treat ='= and ="= as a symbols
 - Minor code cleanup: removed no longer needed ~comment-*~ variables
 - In the BNF there are no grouping brackets except angle ones. Fixed
 



[elpa] externals/bnf-mode 119d792 72/74: Added Emacs 26.2 to Travis CI build matrix

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 119d7927224308d41de26ce537618cade32a99cd
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Added Emacs 26.2 to Travis CI build matrix

See: https://github.com/rejeep/evm/issues/118
---
 .travis.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.travis.yml b/.travis.yml
index d5e510f..6344a98 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -50,6 +50,7 @@ env:
 - EMACS_VERSION=25.2
 - EMACS_VERSION=25.3
 - EMACS_VERSION=26.1
+- EMACS_VERSION=26.2
 - EMACS_VERSION=git-snapshot
   global:
 - PATH="$HOME/bin:$HOME/.cask/bin:$HOME/.evm/bin:$PATH"



[elpa] externals/bnf-mode af8cf6d 18/74: Correct change log [ci skip]

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit af8cf6ddb7f7d9f0aa2e521aae7863dc94ffbcd1
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Correct change log [ci skip]
---
 CHANGELOG.org | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index eb76ed8..f43e99e 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -5,13 +5,13 @@ All notable changes to this project will be documented in 
this file.
 
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
-** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...HEAD][Unreleased]]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.2.0...HEAD][Unreleased]]
 
 *** Changed
 - LHS nonterminals may be preceded by an unlimited number of spaces
 - Regarding to 
[[https://tools.ietf.org/html/rfc5234#section-2.1][RFC5234#2.1]] angle brackets 
to use for nonterminals are optional
 
-** 0.2.0 - 2019-03-16
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...0.2.0][0.2.0]] - 
2019-03-16
 *** Changed
 - Comments are no longer use syntax table.  For more see `comment-use-syntax'
 



[elpa] externals/bnf-mode 89660ba 44/74: Removing emacs26-el package solves "Recursive load" issue

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 89660baac38b02734b525924189871b46db9748c
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Removing emacs26-el package solves "Recursive load" issue

For more see: http://ppa.launchpad.net/kelleyk/emacs/ubuntu
---
 test/test-helper.el | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/test/test-helper.el b/test/test-helper.el
index 1875692..1d957bb 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -35,9 +35,6 @@
 (require 'ert-x)  ; `ert-with-test-buffer'
 (require 'cl-lib) ; `cl-defmacro'
 
-;; reading/writing/loading compressed files
-(require 'jka-compr)
-
 ;; Make sure the exact Emacs version can be found in the build output
 (message "Running tests on Emacs %s" emacs-version)
 



[elpa] externals/bnf-mode ce5005e 57/74: Install missed dependency on Travis CI

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit ce5005e478747ab0f155bcccecb217d576c3cdf0
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Install missed dependency on Travis CI
---
 .travis.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 8f210d9..89608c8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -81,6 +81,8 @@ script:
   # The 'checkdoc-file' present on Emacs >= 25.1
   - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
   - make test
+  - wget 
https://github.com/jgm/pandoc/releases/download/2.7.2/pandoc-2.7.2-1-amd64.deb 
-o /dev/null
+  - sudo dpkg -i pandoc-2.7.2-1-amd64.deb
   - make package
   - ls -al
 



[elpa] externals/bnf-mode f6fd97b 07/74: Setup Travis CI builds

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit f6fd97bef8efc19e0989768ed8433fefe389cc2a
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Setup Travis CI builds
---
 .elpaignore |   5 +++
 .ert-runner |   3 ++
 .gitignore  |  10 ++
 .travis.yml |  79 +
 Cask|  15 +
 Makefile| 104 
 README.org  |  28 
 7 files changed, 230 insertions(+), 14 deletions(-)

diff --git a/.elpaignore b/.elpaignore
new file mode 100644
index 000..dcfa152
--- /dev/null
+++ b/.elpaignore
@@ -0,0 +1,5 @@
+.travis.yml
+.ert-runner
+.gitignore
+Makefile
+test
diff --git a/.ert-runner b/.ert-runner
new file mode 100644
index 000..6984d63
--- /dev/null
+++ b/.ert-runner
@@ -0,0 +1,3 @@
+-L .
+--quiet
+--no-win
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000..ff957d8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,10 @@
+# Please do not use this ignore file to define platform specific files.
+#
+# For these purposes create a global .gitignore file, which is a list of rules
+# for ignoring files in every Git repository on your computer.
+#
+# https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
+
+*~
+*.elc
+.cask/
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000..391a1d7
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,79 @@
+# Copyright (C) 2017-2019 Serghei Iakovlev
+#
+# This file is not part of GNU Emacs.
+#
+# License
+#
+# This file is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3
+# of the License, or (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+language: emacs-lisp
+
+# Cache stable Emacs binaries, packages and Cask
+cache:
+  apt: true
+  timeout: 604800
+  directories:
+- "$HOME/emacs"
+# Cache BNF Mode dependencies
+- ".cask/"
+# Cache Cask bootstrap dependencies
+- "$HOME/.emacs.d/.cask"
+
+# Allow Emacs snapshot builds to fail and don't wait for it
+matrix:
+  fast_finish: true
+  allow_failures:
+- env: EMACS_VERSION=git-snapshot
+
+git:
+  depth: 1
+
+env:
+  matrix:
+- EMACS_VERSION=24.3
+- EMACS_VERSION=24.4
+- EMACS_VERSION=24.5
+- EMACS_VERSION=25.1
+- EMACS_VERSION=25.2
+- EMACS_VERSION=25.3
+- EMACS_VERSION=26.1
+- EMACS_VERSION=git-snapshot
+  global:
+- PATH="$HOME/bin:$HOME/.cask/bin:$HOME/.evm/bin:$PATH"
+
+before_install:
+  # Setup Emacs Version Manager
+  - git clone -q --depth=1 https://github.com/rejeep/evm.git $HOME/.evm
+  - evm config path /tmp
+
+install:
+  # Install Emacs (according to $EMACS_VERSION) and Cask
+  - evm install emacs-$EMACS_VERSION-travis --use --skip
+  - curl -fsSkL https://raw.github.com/cask/cask/master/go | python
+
+before_script:
+  # Configure $EMACS_MAJOR_VERSION
+  - EMACS_MAJOR_VERSION="$(echo $EMACS_VERSION | cut -d '.' -f 1)"
+
+script:
+  - make help
+  - make init
+  # The 'checkdoc-file' present on Emacs >= 25.1
+  - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
+  # - make test
+
+notifications:
+  email: false
diff --git a/Cask b/Cask
new file mode 100644
index 000..78bddd4
--- /dev/null
+++ b/Cask
@@ -0,0 +1,15 @@
+;; -*- mode: emacs-lisp -*-
+
+(source gnu)
+(source melpa)
+
+(package-file "bnf-mode.el")
+
+(files "*.el")
+
+(development
+ (depends-on "f")
+ (depends-on "ert-x")
+ (depends-on "cl-lib")
+ (depends-on "ert-runner")
+ (depends-on "undercover"))
diff --git a/Makefile b/Makefile
new file mode 100644
index 000..466a264
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,104 @@
+# Copyright (C) 2017-2019 Serghei Iakovlev
+#
+# This file is not part of GNU Emacs.
+#
+# License
+#
+# This file is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3
+# of the License, or (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+SHELL := $(shell which bash)
+ROOT_DIR

[elpa] externals/bnf-mode 548c33b 58/74: Bump version

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 548c33bc482908d4e7a75bf0c569bca75ec0a944
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Bump version
---
 .travis.yml| 1 +
 CHANGELOG.org  | 4 +++-
 bnf-mode.el| 2 +-
 test/bnf-mode-font-test.el | 2 +-
 test/test-helper.el| 2 +-
 5 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 89608c8..8f71308 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -100,6 +100,7 @@ deploy:
   skip_cleanup: true
   on:
 tags: true
+condition: $EMACS_VERSION = 26.1
 repo: sergeyklay/bnf-mode
 
 notifications:
diff --git a/CHANGELOG.org b/CHANGELOG.org
index 01de194..0f7bc58 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -5,7 +5,9 @@ All notable changes to this project will be documented in this 
file.
 
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
-** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...HEAD][Unreleased]]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...HEAD][Unreleased]]
+
+*** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...0.4.0][0.4.0]] - 
2019-04-21
 *** Added
 - Added =comment-start-skip= to help comment commands recognize comments
 - Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]
diff --git a/bnf-mode.el b/bnf-mode.el
index 387dc51..4ff9e2f 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.2
+;; Version: 0.4.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (emacs "24.3"))
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index d25f54b..655146d 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.2
+;; Version: 0.4.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is NOT part of GNU Emacs.
diff --git a/test/test-helper.el b/test/test-helper.el
index 5bbfc83..1f5be9e 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.2
+;; Version: 0.4.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is NOT part of GNU Emacs.



[elpa] externals/bnf-mode ac004f6 34/74: Removed the bnf-mode-version function

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit ac004f60012d648bf8c0e87d841935461279587a
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Removed the bnf-mode-version function

Refs:
- https://github.com/melpa/melpa/pull/6074#issuecomment-475916422
---
 CHANGELOG.org |  7 +++
 bnf-mode.el   | 29 ++---
 2 files changed, 9 insertions(+), 27 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index ee3a3a3..7cfa351 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,11 +6,18 @@ All notable changes to this project will be documented in 
this file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
+*** Changed
+- Publish package on MELPA 
[[https://github.com/melpa/melpa/pull/6074][(melpa/melpa#6074)]]
+
 *** Fixed
 - In the BNF there are no strings thus treat ' and " as a regular symbols
 - Minor code cleanup: removed no longer needed ~comment-*~ variables
 - In the BNF there are no grouping brackets except angle ones. Fixed
 
+*** Removed
+- Removing the ~bnf-mode-version~ function. Users can easily call 
~describe-package~
+  or ~pkg-info-package-version~ interactively if they want to get this 
information [[https://github.com/sergeyklay/bnf-mode/issues/1][(#1)]]
+
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...0.3.1][0.3.1]] - 
2019-03-17
 *** Fixed
 - Fixed BNF rule name definition to follow 
[[https://www.masswerk.at/algol60/report.htm][ALGOL 60 report]]
diff --git a/bnf-mode.el b/bnf-mode.el
index 6260dd1..a2188fd 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -7,7 +7,7 @@
 ;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
-;; Package-Requires: ((cl-lib "0.5") (pkg-info "0.4") (emacs "24.3"))
+;; Package-Requires: ((cl-lib "0.5") (emacs "24.3"))
 
 ;; This file is not part of GNU Emacs.
 
@@ -40,7 +40,7 @@
 ;;   (see URL `https://www.ietf.org/rfc/rfc822.txt')
 ;; - RFC5234: Augmented BNF for Syntax Specifications: ABNF
 ;;   (see URL `https://www.ietf.org/rfc/rfc5234.txt')
-;; - FRC7405: Case-Sensitive String Support in ABNF [3]
+;; - FRC7405: Case-Sensitive String Support in ABNF
 ;;   (see URL `https://www.ietf.org/rfc/rfc7405.txt')
 ;; - Revised Report on the Algorithmic Language Algol 60
 ;;   (see URL `https://www.masswerk.at/algol60/report.htm')
@@ -61,14 +61,10 @@
 
 ;;; Requirements
 
-;; Tell the byte compiler about autoloaded functions from packages
-(declare-function pkg-info-version-info "pkg-info" (package))
-
 (eval-when-compile
   (require 'rx)); `rx'
 
 (require 'cl-lib)   ; `cl-defmacro'
-(require 'pkg-info) ; `pkg-info-version-info'
 
 
 ;;; Customization
@@ -89,27 +85,6 @@
   :group 'bnf)
 
 
-;;; Version information
-
-(defun bnf-mode-version (&optional show-version)
-  "Display string describing the version of BNF Mode.
-
-If called interactively or if SHOW-VERSION is non-nil, show the
-version in the echo area and the messages buffer.
-
-The returned string includes both, the version from package.el
-and the library version, if both a present and different.
-
-If the version number could not be determined, signal an error,
-if called interactively, or if SHOW-VERSION is non-nil, otherwise
-just return nil."
-  (interactive (list t))
-  (let ((version (pkg-info-version-info 'bnf-mode)))
-(when show-version
-  (message "BNF Mode version: %s" version))
-version))
-
-
 ;;; Specialized rx
 
 (eval-when-compile



[elpa] externals/bnf-mode 7240455 38/74: Improved test reporting

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 724045574714cbd8ea732fb0fb656c05153ba218
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Improved test reporting
---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 623e8a8..eb8b1f0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -73,7 +73,7 @@ script:
   - make init
   # The 'checkdoc-file' present on Emacs >= 25.1
   - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
-  - make test
+  - TESTFLAGS="--reporter ert+duration" make test
 
 notifications:
   email: false



[elpa] externals/bnf-mode 7c98cc9 66/74: Fixed misspelling, updated change log

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 7c98cc9edb9dba80309f8ce3ceadf3f3e51f4c7e
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Fixed misspelling, updated change log
---
 CHANGELOG.org  | 11 --
 bnf-mode.el| 54 --
 test/bnf-mode-font-test.el | 27 +++
 test/test-helper.el|  1 +
 4 files changed, 36 insertions(+), 57 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 3375510..af429f1 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,13 @@ All notable changes to this project will be documented in this 
file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.1...HEAD][Unreleased]]
+*** Added
+- Introduce ALGOL 60 comments style 
[[https://github.com/sergeyklay/bnf-mode/pull/4][#4]]
+
+*** Changed
+- Only setting =bnf-mode-algol-comments-style= to non-nil will allow use
+  semicolons as a regular terminal symbols
+
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...0.4.1][0.4.1]] - 
2019-04-21
 *** Fixes
 - Minor fix related to build & deploy BNF Mode on Travis CI
@@ -21,7 +28,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...0.3.2][0.3.2]] - 
2019-03-24
 *** Changed
-- Publish package on MELPA 
[[https://github.com/melpa/melpa/pull/6074][(melpa/melpa#6074)]]
+- Published package on MELPA 
[[https://github.com/melpa/melpa/pull/6074][(melpa/melpa#6074)]]
 
 *** Fixed
 - In the BNF there are no strings thus treat ' and " as a regular symbols
@@ -29,7 +36,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 - In the BNF there are no grouping brackets except angle ones. Fixed
 
 *** Removed
-- Removing the ~bnf-mode-version~ function. Users can easily call 
~describe-package~
+- Removed the ~bnf-mode-version~ function. Users can easily call 
~describe-package~
   or ~pkg-info-package-version~ interactively if they want to get this 
information [[https://github.com/sergeyklay/bnf-mode/issues/1][(#1)]]
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...0.3.1][0.3.1]] - 
2019-03-17
diff --git a/bnf-mode.el b/bnf-mode.el
index a16739f..8b24758 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -84,11 +84,11 @@
   :type 'hook
   :group 'bnf)
 
-(defcustom bnf-mode-algol-commets-style nil
+(defcustom bnf-mode-algol-comments-style nil
   "Non-nil means use for BNF comments style introduced in ALGOL 60.
 
-For the purpose of including text among the symbols of a program the following
-\"comment\" conventions will hold:
+For the purpose of including text among the symbols of a program the
+following \"comment\" conventions will hold:
 
   ::--:
   | The sequence of basic symbols: | is equivalent to |
@@ -97,7 +97,8 @@ For the purpose of including text among the symbols of a 
program the following
   | begin comment ; | begin|
   ::--:
 
-Note: Enabling this feature disables ABNF/EBN comments style (just \";\")."
+Note: Enabling this feature will disable comments recognition which use
+semicolon only (\";\")."
   :group 'bnf
   :type 'boolean)
 
@@ -204,7 +205,7 @@ See `rx' documentation for more information about REGEXPS 
param."
 (modify-syntax-entry ?\> ")<" table)
 
 ;; Comments setup
-(if bnf-mode-algol-commets-style
+(if bnf-mode-algol-comments-style
 (modify-syntax-entry ?\; ">" table)
   (progn
 (modify-syntax-entry ?\; "<" table)
@@ -213,31 +214,16 @@ See `rx' documentation for more information about REGEXPS 
param."
 table)
   "Syntax table in use in `bnf-mode' buffers.")
 
-(defun bnf--bnf-syntax-propertize-function (start end)
-  "Apply syntax table properties to special constructs in region START to END.
-Currently handled:
-
- - Fontify terminals with ';' character correctly"
-  (save-excursion
-(goto-char start)
-;; Search for terminals like "" or "".
-;; Does not work for terminals like "".
-(while (re-search-forward "\\(?:<[^>]*\\);" end t)
-  (when (looking-at "\\(?:[^>]\\)*>")
-;; Mark the ";" character as an extra character used in terminals
-;; along with word constituents.
-(put-text-property (1- (point)) (point)
-   'syntax-table (string-to-syntax "_"))
-
-
-;;; Initialization
-
-(defconst bnf--bnf-syntax-propertize-macro
+(defconst bnf--syntax-propertize
   (syntax-propertize-rules
+   ;; Fontify comments in ALGOL 60 style.
("\\(?:begin\\s-+\\|;\\s-*\\)\\(comment\\)\\(;\\|\\s-+[^;]*;\\)" (1 "<")))
-  "Fontify comments in ALGOL 60 style.
+  "Apply syntax table properties to special constructs.
 Provide a ma

[elpa] externals/bnf-mode ebd9b83 51/74: Added ability to generate info

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit ebd9b83865394103f8db5bd5431f47c863239ed6
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Added ability to generate info
---
 .gitignore |  1 +
 Makefile   | 14 ++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index 2212c96..8a951a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,4 +8,5 @@
 *~
 *.elc
 .cask/
+bnf-mode.info
 README
diff --git a/Makefile b/Makefile
index b01c7e0..02078b4 100644
--- a/Makefile
+++ b/Makefile
@@ -31,8 +31,7 @@ TESTFLAGS ?= --reporter ert+duration
 PANDOCLAGS ?= --fail-if-warnings \
--reference-links \
--atx-headers \
-   -f org+empty_paragraphs \
-   -t plain
+   -f org+empty_paragraphs
 
 PKGDIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
 
@@ -40,6 +39,7 @@ PKGDIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
 SRCS = bnf-mode.el
 OBJS = $(SRCS:.el=.elc)
 
+ARCHIVE_NAME=bnf-mode
 VERSION ?= $(shell $(CASK) version)
 
 .SILENT: ;   # no need for @
@@ -71,9 +71,15 @@ $(PKGDIR): Cask
$(CASK) install
touch $(PKGDIR)
 
-RE_BADGES = "s/\[\[.*\.svg\]\]//g"
+define org-clean
+   cat $^ | sed -e "s/\[\[.*\.svg\]\]//g"
+endef
+
+$(ARCHIVE_NAME).info: README.org
+   $(call org-clean,$^) | $(PANDOC) $(PANDOCLAGS) -t texinfo | makeinfo -o 
$@
+
 README: README.org
-   $(shell cat $^ | sed -e $(RE_BADGES) | $(PANDOC) $(PANDOCLAGS) -o $@)
+   $(call org-clean,$^) | $(PANDOC) $(PANDOCLAGS) -t plain -o $@
 
 # Public targets
 



[elpa] externals/bnf-mode c836c7c 19/74: Temporarily removed ABNF, amended tests

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit c836c7c60eb565311d930d8fa486af92ab29a6e4
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Temporarily removed ABNF, amended tests
---
 CHANGELOG.org  |  1 -
 README.org |  3 ++
 bnf-mode.el| 47 +++
 test/bnf-mode-font-test.el | 79 +++---
 test/test-helper.el| 10 ++
 5 files changed, 71 insertions(+), 69 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index f43e99e..8334f11 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -9,7 +9,6 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 *** Changed
 - LHS nonterminals may be preceded by an unlimited number of spaces
-- Regarding to 
[[https://tools.ietf.org/html/rfc5234#section-2.1][RFC5234#2.1]] angle brackets 
to use for nonterminals are optional
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...0.2.0][0.2.0]] - 
2019-03-16
 *** Changed
diff --git a/README.org b/README.org
index 8a1d74a..8c37260 100644
--- a/README.org
+++ b/README.org
@@ -21,6 +21,7 @@ When developing this mode, the following RFCs were taken into 
account:
 
 - [[https://www.ietf.org/rfc/rfc822.txt][RFC822]]: Standard for ARPA Internet 
Text Messages
 - [[https://www.ietf.org/rfc/rfc5234.txt][RFC5234]]: Augmented BNF for Syntax 
Specifications: ABNF
+- [[https://tools.ietf.org/html/rfc7405][RFC7405]]: Case-Sensitive String 
Support in ABNF
 
 ** Features
 
@@ -90,6 +91,8 @@ To see what has changed in recent versions of BNF Mode, see 
the [[https://github
 ** External Links
 
 - [[https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form][Wikipedia: 
Backus–Naur form]]
+- 
[[https://en.wikipedia.org/wiki/Extended_Backus%25E2%2580%2593Naur_form][Wikipedia:
 Extended Backus–Naur form]]
+- 
[[https://en.wikipedia.org/wiki/Augmented_Backus%25E2%2580%2593Naur_form][Wikipedia:
 Augmented Backus–Naur form]]
 - [[https://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf][ISO/IEC 14977: EBNF]]
 - [[https://www.ics.uci.edu/~pattis/ICS-33/lectures/ebnf.pdf][EBNF: A Notation 
to Describe Syntax]]
 
diff --git a/bnf-mode.el b/bnf-mode.el
index 12550b4..1585922 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -31,15 +31,17 @@
 ;;; Commentary:
 
 ;;   GNU Emacs major mode for editing BNF grammars.  Currently this mode
-;; provides basic syntax and font-locking for "*.bnf" files.
+;; provides basic syntax and font-locking for BNF files.
 ;;
 ;; When developing this mode, the following RFCs were taken into account:
 ;;
 ;; - RFC822: Standard for ARPA Internet Text Messages [1]
 ;; - RFC5234: Augmented BNF for Syntax Specifications: ABNF [2]
+;; - FRC7405: Case-Sensitive String Support in ABNF [3]
 ;;
 ;; [1]: https://www.ietf.org/rfc/rfc822.txt
 ;; [2]: https://www.ietf.org/rfc/rfc5234.txt
+;; [3]: https://www.ietf.org/rfc/rfc7405.txt
 ;;
 ;; Usage:  Put this file in your Emacs Lisp path (eg. site-lisp) and add to
 ;; your .emacs file:
@@ -111,12 +113,11 @@ just return nil."
 (eval-when-compile
   (defconst bnf-rx-constituents
 `(
-  ;; rulename
-  (rulename . ,(rx (and
-symbol-start
-letter
-(0+ (or "-" alnum))
-symbol-end)))
+  (bnf-rule-name . ,(rx (and
+ symbol-start
+ letter
+ (0+ (or "-" alnum))
+ symbol-end)))
 "Additional special sexps for `bnf-rx'."))
 
   (defmacro bnf-rx (&rest sexps)
@@ -125,12 +126,12 @@ just return nil."
 In addition to the standard forms of `rx', the following forms
 are available:
 
-`rulename'
-  Any valid rule name.  The name of a rule is simply the
+`bnf-rule-name'
+  Any valid BNF rule name.  The name of a rule is simply the
   name itself, that is, a sequence of characters, beginning
   with an alphabetic character, and followed by a combination
   of alphabetics, digits, and hyphens (dashes).
-  For more see RFC5234#2.1
+  For examle see RFC5234#2.1
 
 See `rx' documentation for more information about REGEXPS param."
  (let ((rx-constituents (append bnf-rx-constituents rx-constituents)))
@@ -151,29 +152,17 @@ See `rx' documentation for more information about REGEXPS 
param."
 (,(bnf-rx (and line-start
(0+ space)
"<"
-   (group rulename)
+   (group bnf-rule-name)
">"
-   (1+ space)
-   "::="))
- 1 font-lock-function-name-face)
-;; Regarding to RFC5234#2.1 angle brackets
-;; (“<”, “>”) for LHS nonterminals are optional.
-(,(bnf-rx (and line-start
(0+ space)
-   (group rulename)
-   (1+ space)
"::="))
  1 font-lock-function-name-face)
-;; RHS nonterminals
-(,(bnf-rx (and (1+ space)
+;; Other n

[elpa] externals/bnf-mode 333b6a2 43/74: Require jka-compr at test stage to prevent recursive load

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 333b6a2a97c56eb67a3e6b1ba03bb1f1d5478ba5
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Require jka-compr at test stage to prevent recursive load

This may happen if you have *.el.gz files installed and Emacs 26.2
---
 test/bnf-mode-font-test.el | 1 -
 test/test-helper.el| 3 +++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 31b5568..18edc38 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -156,5 +156,4 @@ angle-brackets ::= are-optional"
  (should (eq (bnf-test-face-at 94) 
'font-lock-builtin-face
 
 (provide 'bnf-mode-font-test)
-
 ;;; bnf-mode-font-test.el ends here
diff --git a/test/test-helper.el b/test/test-helper.el
index 1d957bb..1875692 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -35,6 +35,9 @@
 (require 'ert-x)  ; `ert-with-test-buffer'
 (require 'cl-lib) ; `cl-defmacro'
 
+;; reading/writing/loading compressed files
+(require 'jka-compr)
+
 ;; Make sure the exact Emacs version can be found in the build output
 (message "Running tests on Emacs %s" emacs-version)
 



[elpa] externals/bnf-mode f917836 23/74: Change default goal for make

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit f917836bc288cb70c2bceba202226c4360043ece
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Change default goal for make
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 3750c2c..b3b7887 100644
--- a/Makefile
+++ b/Makefile
@@ -38,7 +38,7 @@ OBJS = $(SRCS:.el=.elc)
 Makefile: ; # skip prerequisite discovery
 
 # Run make help by default
-.DEFAULT_GOAL = help
+.DEFAULT_GOAL = build
 
 # Internal variables
 EMACSBATCH = $(EMACS) -Q --batch -L . $(EMACSFLAGS)



[elpa] externals/bnf-mode 13de9e1 06/74: Updated project description

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 13de9e13b2acd696c363ae960188fd1245da60d0
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Updated project description
---
 README.org | 78 +-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index 532651c..db20db4 100644
--- a/README.org
+++ b/README.org
@@ -3,4 +3,80 @@
 
[[https://www.gnu.org/licenses/gpl-3.0.txt][https://img.shields.io/badge/license-GPL_3-green.svg]]
 
[[https://travis-ci.com/sergeyklay/bnf-mode][https://travis-ci.com/sergeyklay/bnf-mode.svg]]
 
-Work In Progress
+A GNU Emacs major mode for editing BNF grammars.
+
+Currently provides basic syntax and font-locking for BNF files.
+EBNF and ABNF are in my plans for the near future.
+
+** Features
+
+1. Syntax highlighting
+
+** Installation
+
+Known to work with GNU Emacs 24.3 and later.  BNF Mode may work with
+older versions of Emacs, or with other flavors of Emacs (e.g. XEmacs)
+but this is /not/ guaranteed.  Bug reports for problems related to using
+BNF Mode with older versions of Emacs will most like not be addressed.
+
+The master of all the material is the Git repository at
+https://github.com/sergeyklay/bnf-mode .
+
+**NOTE:** The ~master~ branch will always contain the latest unstable version.
+If you wish to check older versions or formal, tagged release, please switch
+to the relevant [[https://github.com/sergeyklay/bnf-mode/tags][tag]].
+
+*** Using use-package
+
+TODO
+
+*** Using MELPA
+
+TODO
+
+*** Manual Install
+
+1. Download ~bnf-mode.el~
+2. Put the file in your Elisp common folder like ~$HOME/.emacs.d/lisp/~
+3. Then you can include like this:
+#+begin_src emacs-lisp
+(add-to-list 'load-path
+ (expand-file-name "lisp" user-emacs-directory))
+#+end_src
+4. Add /either/ of the two following lines to your initialization file.
+  The first only loads BNF Mode when necessary, the 2nd always during startup
+  of GNU Emacs.
+#+begin_src emacs-lisp
+(autoload 'bnf-mode "bnf-mode" nil t)
+;; OR
+(require 'zephir-mode)
+#+end_src
+5. Optionally byte compile ~bnf-mode.el~ for faster startup: ~M-x byte-compile~
+
+** Usage
+
+*** Interactive Commands
+
+| Command (For the ~M-x~ prompt.) | Description  |
+|-+--|
+| ~bnf-mode~  | Switches to BNF Mode.|
+| ~bnf-mode-version~  | Print version info for BNF Mode. |
+
+Any file that matches the glob ~*.bnf~ is automatically opened in ~bnf-mode~.
+
+** Support
+
+Feel free to ask question or make suggestions in our 
[[https://github.com/sergeyklay/bnf-mode/issues][issue tracker]] .
+
+** Changes
+
+To see what has changed in recent versions of BNF Mode, see the 
[[https://github.com/sergeyklay/bnf-mode/blob/master/CHANGELOG.org][CHANGELOG.org]]
 .
+
+** External Links
+
+- [[https://tools.ietf.org/html/rfc5234][{RFC 5234} Augmented BNF for Syntax 
Specifications: ABNF]]
+- [[https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form][{Wikipedia} 
Backus–Naur form]]
+
+** License
+
+Zephir Mode is open source software licensed under the 
[[https://github.com/sergeyklay/bnf-mode/blob/master/LICENSE][GNU General 
Public Licence version 3]] .



[elpa] externals/bnf-mode a4ca649 74/74: Remove wrongly used (and documented) syntax-propertize-function call

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit a4ca649e79479e0ee312c45668b56ae33966cceb
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Remove wrongly used (and documented) syntax-propertize-function call
---
 CHANGELOG.org |  3 +++
 bnf-mode.el   | 15 ---
 2 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 2f32e6a..d886c8b 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -14,6 +14,9 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 - Only setting =bnf-mode-algol-comments-style= to non-nil will allow use
   semicolons as a regular terminal symbols. For more see: 
[[https://github.com/sergeyklay/bnf-mode/pull/4][#4]] .
 
+** Removed
+- Removed wrongly used (and documented) =syntax-propertize-function= funcall
+
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...0.4.1][0.4.1]] - 
2019-04-21
 *** Fixes
 - Minor fix related to build & deploy BNF Mode on Travis CI.
diff --git a/bnf-mode.el b/bnf-mode.el
index 9fb3247..35b0fa4 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -244,21 +244,6 @@ Will be used only if `bnf-mode-algol-comments-style' is 
set to t")
   (setq-local comment-end "")
   (setq-local comment-start-skip "\\(?:\\(\\W\\|^\\);+\\)\\s-+")))
 
-  ;; Basically `syntax-propertize-function' is a construct which belongs
-  ;; to `font-lock'.  But correct indentation depends on
-  ;; syntax properties of the text, and that should ideally be
-  ;; independent of font-lock being activated or not.
-  ;;
-  ;; For `bnf-mode', this means that with `font-lock' disabled, we wont
-  ;; have our syntax properties set correctly, and indentation will
-  ;; suffer.
-  ;;
-  ;; To patch our way around this, we issue a `syntax-propertize' call
-  ;; manually, `font-lock' enabled or not.
-  (with-silent-modifications
-(when bnf-mode-algol-comments-style
-(funcall syntax-propertize-function (point-min) (point-max
-
   ;; Font locking
   (setq font-lock-defaults
 '(



[elpa] externals/bnf-mode d3a7059 08/74: Added change log

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit d3a70597f59d14d9c73d541564f6d7623d0e3288
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Added change log
---
 CHANGELOG.org | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 0e2f33f..eabf01d 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -4,4 +4,8 @@ All notable changes to this project will be documented in this 
file.
 
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
-## [Unreleased]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...HEAD][Unreleased]]
+
+** 0.1.0 - 2019-03-16
+*** Added
+ - Initial stable release



[elpa] externals/bnf-mode ed24bee 21/74: Bumb version

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit ed24bee99ab225ced7f4f47126c9bd0caf37627d
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Bumb version
---
 test/test-helper.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test-helper.el b/test/test-helper.el
index a8e9b90..267bc9b 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.2.0
+;; Version: 0.3.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is not part of GNU Emacs.



[elpa] externals/bnf-mode 273eabd 31/74: Correct change log formatting (II) [ci skip]

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 273eabd677d2bd295c6e99b1983ce9b31a12035e
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Correct change log formatting (II) [ci skip]
---
 CHANGELOG.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index cdfc3d5..9cc245f 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -7,7 +7,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
 *** Fixed
-- In the BNF there are no strings so treat ='= and ="= as a symbols
+- In the BNF there are no strings thus treat ~' "~ as a regular symbols
 - Minor code cleanup: removed no longer needed ~comment-*~ variables
 - In the BNF there are no grouping brackets except angle ones. Fixed
 



[elpa] externals/bnf-mode e2f8bfa 53/74: Added support of ; character to use in terminals

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit e2f8bfa26047469b32d5b1540bc4eb052c8215af
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Added support of ; character to use in terminals
---
 CHANGELOG.org  |  4 ++--
 bnf-mode.el| 23 ++-
 test/bnf-mode-font-test.el | 18 ++
 3 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 07c06f0..5d0b6a7 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -8,9 +8,9 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...HEAD][Unreleased]]
 *** Added
 - Added =comment-start-skip= to help comment commands recognize comments
-
-*** Changed
 - Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]
+- More intelligent terminal syntax recognition.
+  Added support of "=;=" character as an extra character used in terminals.
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...0.3.2][0.3.2]] - 
2019-03-24
 *** Changed
diff --git a/bnf-mode.el b/bnf-mode.el
index 232b6c4..387dc51 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -154,7 +154,7 @@ See `rx' documentation for more information about REGEXPS 
param."
   "Font lock BNF keywords for BNF Mode.")
 
 
-;;; Initialization
+;;; Syntax
 
 (defvar bnf-mode-syntax-table
   (let ((table (make-syntax-table)))
@@ -186,6 +186,25 @@ See `rx' documentation for more information about REGEXPS 
param."
 table)
   "Syntax table in use in `bnf-mode' buffers.")
 
+(defun bnf--syntax-propertize (start end)
+  "Apply syntax table properties to special constructs in region START to END.
+Currently handled:
+
+ - Fontify terminals with ';' character correctly"
+  (save-excursion
+(goto-char start)
+;; Search for terminals like "" or "".
+;; Does not work for terminals like "".
+(while (re-search-forward "\\(?:<[^>]*\\);" end t)
+  (when (looking-at "\\(?:[^>]\\)*>")
+;; Mark the ";" character as an extra character used in terminals
+;; along with word constituents.
+(put-text-property (1- (point)) (point)
+   'syntax-table (string-to-syntax "_"))
+
+
+;;; Initialization
+
 ;;;###autoload
 (define-derived-mode bnf-mode prog-mode "BNF"
   "A major mode for editing BNF grammars."
@@ -196,6 +215,8 @@ See `rx' documentation for more information about REGEXPS 
param."
   (setq-local comment-start "; ")
   (setq-local comment-end "")
   (setq-local comment-start-skip "\\(?:\\(\\W\\|^\\);+\\)\\s-*")
+  ;; Tune up syntax `syntax-table'
+  (setq-local syntax-propertize-function #'bnf--syntax-propertize)
   ;; Font locking
   (setq font-lock-defaults
 '(
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 6f9b1b7..d25f54b 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -163,5 +163,23 @@ angle-brackets ::= are-optional"
(should (eq (bnf-test-face-at 90) 'font-lock-builtin-face))
(should (eq (bnf-test-face-at 94) 'font-lock-builtin-face
 
+(ert-deftest bnf-mode-syntax-table/fontify-dotcomma-inside-rule ()
+  :tags '(fontification syntax-table)
+  (bnf-test-with-temp-buffer
+   " ::= 
+;  ::= 
+ ::= "
+   ;; "abc;"
+   (should (eq (bnf-test-face-at 16) 'font-lock-builtin-face))
+   (should (eq (bnf-test-face-at 18) 'font-lock-builtin-face))
+   ;; ";  ::= "
+   (should (eq (bnf-test-face-at 22) 'font-lock-comment-delimiter-face))
+   (should (eq (bnf-test-face-at 22) 'font-lock-comment-delimiter-face))
+   (should (eq (bnf-test-face-at 23) 'font-lock-comment-face))
+   (should (eq (bnf-test-face-at 37) 'font-lock-comment-face))
+   ;; "ab;c"
+   (should (eq (bnf-test-face-at 48) 'font-lock-builtin-face))
+   (should (eq (bnf-test-face-at 51) 'font-lock-builtin-face
+
 (provide 'bnf-mode-font-test)
 ;;; bnf-mode-font-test.el ends here



[elpa] externals/bnf-mode 7bbf329 49/74: Added comment-start-skip to help comment commands recognize comments

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 7bbf32931b2f93401e919a6aa19499a7b530599c
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Added comment-start-skip to help comment commands recognize comments
---
 CHANGELOG.org  | 3 +++
 bnf-mode.el| 5 +++--
 test/bnf-mode-font-test.el | 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 5b50aec..07c06f0 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,9 @@ All notable changes to this project will be documented in this 
file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...HEAD][Unreleased]]
+*** Added
+- Added =comment-start-skip= to help comment commands recognize comments
+
 *** Changed
 - Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]
 
diff --git a/bnf-mode.el b/bnf-mode.el
index edf36b2..232b6c4 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -168,11 +168,11 @@ See `rx' documentation for more information about REGEXPS 
param."
 (modify-syntax-entry ?\=  "_"   table)
 ;; Treat | as a symbol
 (modify-syntax-entry ?\|  "_"   table)
-;; In the BNF there are no strings
+;; In BNF there are no strings
 ;; so treat ' and " as a symbols
 (modify-syntax-entry ?\"  "_"  table)
 (modify-syntax-entry ?\'  "_"  table)
-;; In the BNF there are no grouping
+;; In BNF there are no grouping
 ;; brackets except angle ones
 (modify-syntax-entry ?\(  "_"  table)
 (modify-syntax-entry ?\)  "_"  table)
@@ -195,6 +195,7 @@ See `rx' documentation for more information about REGEXPS 
param."
   (setq-local comment-use-syntax nil)
   (setq-local comment-start "; ")
   (setq-local comment-end "")
+  (setq-local comment-start-skip "\\(?:\\(\\W\\|^\\);+\\)\\s-*")
   ;; Font locking
   (setq font-lock-defaults
 '(
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 18335d7..ff4aa09 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -49,7 +49,7 @@
   (bnf-test-with-temp-buffer "; A
 
  ::=  ; foo"
- (should (eq (bnf-test-face-at 1) 
'font-lock-comment-face))
+ (should (eq (bnf-test-face-at 1) 
'font-lock-comment-delimiter-face))
  (should (eq (bnf-test-face-at 3) 
'font-lock-comment-face))
  (should-not (bnf-test-face-at 5))
  (should (eq (bnf-test-face-at 24) 
'font-lock-comment-face



[elpa] externals/bnf-mode aed186d 54/74: Provided ability to build installation package.

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit aed186d91b956e55e76867f2ce46506423c439e1
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Provided ability to build installation package.
---
 .gitignore|  2 ++
 CHANGELOG.org |  2 ++
 Cask  |  1 -
 Makefile  | 19 ---
 dir   | 18 ++
 5 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index 8a951a8..d650495 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,6 @@
 *.elc
 .cask/
 bnf-mode.info
+bnf-mode-pkg.el
+bnf-mode-*.tar
 README
diff --git a/CHANGELOG.org b/CHANGELOG.org
index 5d0b6a7..01de194 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -11,6 +11,8 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 - Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]
 - More intelligent terminal syntax recognition.
   Added support of "=;=" character as an extra character used in terminals.
+- Provided ability to build installation package.
+  See =make help= for more.
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...0.3.2][0.3.2]] - 
2019-03-24
 *** Changed
diff --git a/Cask b/Cask
index 78bddd4..bd39524 100644
--- a/Cask
+++ b/Cask
@@ -9,7 +9,6 @@
 
 (development
  (depends-on "f")
- (depends-on "ert-x")
  (depends-on "cl-lib")
  (depends-on "ert-runner")
  (depends-on "undercover"))
diff --git a/Makefile b/Makefile
index 02078b4..62bb55d 100644
--- a/Makefile
+++ b/Makefile
@@ -25,6 +25,7 @@ ROOT_DIR := $(shell dirname $(realpath $(lastword 
$(MAKEFILE_LIST
 EMACS ?= emacs
 CASK ?= cask
 PANDOC ?= pandoc
+TAR ?= COPYFILE_DISABLE=1 bsdtar
 
 EMACSFLAGS ?=
 TESTFLAGS ?= --reporter ert+duration
@@ -39,8 +40,9 @@ PKGDIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
 SRCS = bnf-mode.el
 OBJS = $(SRCS:.el=.elc)
 
-ARCHIVE_NAME=bnf-mode
+ARCHIVE_NAME = bnf-mode
 VERSION ?= $(shell $(CASK) version)
+PACKAGE_NAME = $(ARCHIVE_NAME)-$(VERSION)
 
 .SILENT: ;   # no need for @
 .ONESHELL: ; # recipes execute in same shell
@@ -81,6 +83,12 @@ $(ARCHIVE_NAME).info: README.org
 README: README.org
$(call org-clean,$^) | $(PANDOC) $(PANDOCLAGS) -t plain -o $@
 
+$(ARCHIVE_NAME)-pkg.el: $(ARCHIVE_NAME).el
+   $(CASK) pkg-file
+
+$(PACKAGE_NAME).tar: README $(ARCHIVE_NAME).el $(ARCHIVE_NAME)-pkg.el 
$(ARCHIVE_NAME).info dir
+   $(TAR) -c -s "@^@$(PACKAGE_NAME)/@" -f $(PACKAGE_NAME).tar $^
+
 # Public targets
 
 .PHONY: .title
@@ -104,7 +112,10 @@ test:
 .PHONY: clean
 clean:
$(CASK) clean-elc
-   $(RM) -f README
+   $(RM) -f README $(ARCHIVE_NAME).info $(ARCHIVE_NAME)-pkg.el
+
+.PHONY: package
+package: $(PACKAGE_NAME).tar
 
 .PHONY: help
 help: .title
@@ -117,9 +128,11 @@ help: .title
echo '  build:Byte compile BNF Mode package'
echo '  test: Run the non-interactive unit test suite'
echo '  clean:Remove all byte compiled Elisp files'
+   echo '  package:  Build package'
echo ''
echo 'Available programs:'
echo '  $(CASK): $(if $(HAVE_CASK),yes,no)'
echo ''
-   echo 'You need $(CASK) to develop BNF Mode.  See 
http://cask.readthedocs.io/ for more.'
+   echo 'You need $(CASK) to develop BNF Mode.'
+   echo 'See http://cask.readthedocs.io/ for more.'
echo ''
diff --git a/dir b/dir
new file mode 100644
index 000..f96d9de
--- /dev/null
+++ b/dir
@@ -0,0 +1,18 @@
+This is the file .../info/dir, which contains the
+topmost node of the Info hierarchy, called (dir)Top.
+The first time you invoke Info you start off looking at this node.
+
+File: dir, Node: Top   This is the top of the INFO tree
+
+  This (the Directory node) gives a menu of major topics.
+  Typing "q" exits, "?" lists all Info commands, "d" returns here,
+  "h" gives a primer for first-timers,
+  "mEmacs" visits the Emacs manual, etc.
+
+  In Emacs, you can click mouse button 2 on a menu item or cross reference
+  to select it.
+
+* Menu:
+
+Languages
+* BNF Mode: (bnf-mode).   Major mode for editing BNF grammars.



[elpa] externals/bnf-mode b02bebd 70/74: The byte-compiler reports warnings with "error"

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit b02bebd8cbbd25be9330c83fe0dfd47d2091bd4d
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

The byte-compiler reports warnings with "error"
---
 .travis.yml | 1 +
 Cask| 2 +-
 Makefile| 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index b7b8adf..d5e510f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -77,6 +77,7 @@ before_script:
 script:
   - make help
   - make init
+  - make build
   # The 'checkdoc-file' present on Emacs >= 25.1
   - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
   - make test
diff --git a/Cask b/Cask
index bd39524..cea3ee7 100644
--- a/Cask
+++ b/Cask
@@ -1,4 +1,4 @@
-;; -*- mode: emacs-lisp -*-
+;; -*- mode: cask -*-
 
 (source gnu)
 (source melpa)
diff --git a/Makefile b/Makefile
index f840f6c..e73e0df 100644
--- a/Makefile
+++ b/Makefile
@@ -67,7 +67,7 @@ RUNEMACS = $(CASK) exec $(EMACSBATCH)
 endif
 
 %.elc: %.el $(PKGDIR)
-   $(RUNEMACS) -f batch-byte-compile $<
+   $(RUNEMACS) --eval '(setq byte-compile-error-on-warn t)' -f 
batch-byte-compile $<
 
 $(PKGDIR): Cask
$(CASK) install



[elpa] externals/bnf-mode 592c7d4 68/74: Minor improvements in change log

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 592c7d4149dd4e28d2534b9ee38e1b087d3a3a48
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Minor improvements in change log
---
 CHANGELOG.org | 36 
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index af429f1..2f32e6a 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -7,20 +7,21 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.1...HEAD][Unreleased]]
 *** Added
-- Introduce ALGOL 60 comments style 
[[https://github.com/sergeyklay/bnf-mode/pull/4][#4]]
+- Introduced ALGOL 60 comments style. Disabled by default.
+  For more see: [[https://github.com/sergeyklay/bnf-mode/pull/4][#4]] .
 
 *** Changed
 - Only setting =bnf-mode-algol-comments-style= to non-nil will allow use
-  semicolons as a regular terminal symbols
+  semicolons as a regular terminal symbols. For more see: 
[[https://github.com/sergeyklay/bnf-mode/pull/4][#4]] .
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...0.4.1][0.4.1]] - 
2019-04-21
 *** Fixes
-- Minor fix related to build & deploy BNF Mode on Travis CI
+- Minor fix related to build & deploy BNF Mode on Travis CI.
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...0.4.0][0.4.0]] - 
2019-04-21
 *** Added
-- Added =comment-start-skip= to help comment commands recognize comments
-- Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]
+- Added =comment-start-skip= to help comment commands recognize comments.
+- Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]
 .
 - More intelligent terminal syntax recognition.
   Added support of "=;=" character as an extra character used in terminals.
 - Provided ability to build installation package.
@@ -28,32 +29,35 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...0.3.2][0.3.2]] - 
2019-03-24
 *** Changed
-- Published package on MELPA 
[[https://github.com/melpa/melpa/pull/6074][(melpa/melpa#6074)]]
+- Published package on MELPA 
([[https://github.com/melpa/melpa/pull/6074][melpa/melpa#6074]]).
 
 *** Fixed
-- In the BNF there are no strings thus treat ' and " as a regular symbols
-- Minor code cleanup: removed no longer needed ~comment-*~ variables
-- In the BNF there are no grouping brackets except angle ones. Fixed
+- In the BNF there are no strings thus treat ' and " as a regular symbols.
+- Minor code cleanup: removed no longer needed =comment-*= variables.
+- In the BNF there are no grouping brackets except angle ones. Fixed.
 
 *** Removed
-- Removed the ~bnf-mode-version~ function. Users can easily call 
~describe-package~
-  or ~pkg-info-package-version~ interactively if they want to get this 
information [[https://github.com/sergeyklay/bnf-mode/issues/1][(#1)]]
+- Removed the =bnf-mode-version= function. Users can easily call
+  =describe-package= or =pkg-info-package-version= interactively if they want
+  to get this information 
([[https://github.com/sergeyklay/bnf-mode/issues/1][#1]]).
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...0.3.1][0.3.1]] - 
2019-03-17
 *** Fixed
-- Fixed BNF rule name definition to follow 
[[https://www.masswerk.at/algol60/report.htm][ALGOL 60 report]]
+- Fixed BNF rule name definition to follow 
[[https://www.masswerk.at/algol60/report.htm][ALGOL 60 report]] .
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.2.0...0.3.0][0.3.0]] - 
2019-03-17
 *** Changed
-- LHS nonterminals may be preceded by an unlimited number of spaces
+- LHS nonterminals may be preceded by an unlimited number of spaces.
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...0.2.0][0.2.0]] - 
2019-03-16
 *** Changed
-- Comments are no longer use syntax table.  For more see ~comment-use-syntax~
+- Comments are no longer use syntax table. For more see =comment-use-syntax=.
 
 *** Fixed
-- Changed comment syntax from ~#~ to ~;~ to follow 
[[https://tools.ietf.org/html/rfc822#section-2.8][RFC822#2.8]]
+- Changed comment syntax from =#= to =;= to follow 
[[https://tools.ietf.org/html/rfc822#section-2.8][RFC822#2.8]] .
 
 ** 0.1.0 - 2019-03-16
 *** Added
- - Initial stable release
+ - Initial stable release.
+
+[[https://www.gnu.org/software/emacs/][GNU Emacs]]



[elpa] externals/bnf-mode 3eda5e7 48/74: This package is NOT part of GNU Emacs

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 3eda5e7db547459d4b4b7c199b105393651eb92a
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

This package is NOT part of GNU Emacs
---
 .travis.yml| 2 +-
 Makefile   | 2 +-
 bnf-mode.el| 2 +-
 test/bnf-mode-font-test.el | 2 +-
 test/test-helper.el| 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 623e8a8..b796898 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,6 @@
 # Copyright (C) 2019 Serghei Iakovlev
 #
-# This file is not part of GNU Emacs.
+# This file is NOT part of GNU Emacs.
 #
 # License
 #
diff --git a/Makefile b/Makefile
index f6bfbee..b01c7e0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 # Copyright (C) 2019 Serghei Iakovlev
 #
-# This file is not part of GNU Emacs.
+# This file is NOT part of GNU Emacs.
 #
 # License
 #
diff --git a/bnf-mode.el b/bnf-mode.el
index 89e4b17..edf36b2 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -9,7 +9,7 @@
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (emacs "24.3"))
 
-;; This file is not part of GNU Emacs.
+;; This file is NOT part of GNU Emacs.
 
 ;;; License
 
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 18edc38..18335d7 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -7,7 +7,7 @@
 ;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
-;; This file is not part of GNU Emacs.
+;; This file is NOT part of GNU Emacs.
 
 ;;; License
 
diff --git a/test/test-helper.el b/test/test-helper.el
index 1d957bb..52cc590 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -7,7 +7,7 @@
 ;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
-;; This file is not part of GNU Emacs.
+;; This file is NOT part of GNU Emacs.
 
 ;;; License
 



[elpa] externals/bnf-mode aa8e9af 12/74: Initial test case

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit aa8e9af7f8ee7240bbe397a0f86d64df9ce2ec4c
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Initial test case
---
 .travis.yml|   2 +-
 test/README.org|   6 +++
 test/bnf-mode-font-test.el |  58 +
 test/test-helper.el| 103 +
 4 files changed, 168 insertions(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 55dacf5..623e8a8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -73,7 +73,7 @@ script:
   - make init
   # The 'checkdoc-file' present on Emacs >= 25.1
   - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
-  # - make test
+  - make test
 
 notifications:
   email: false
diff --git a/test/README.org b/test/README.org
new file mode 100644
index 000..0e52e8f
--- /dev/null
+++ b/test/README.org
@@ -0,0 +1,6 @@
+#+TITLE: BNF Mode Unit Tests
+#+AUTHOR: Serghei Iakovlev
+
+The non-interactive Unit Test Suite for the BNF Mode.
+
+For a detailed description of the BNF Mode, refer to 
[[https://github.com/sergeyklay/bnf-mode/blob/master/README.org][README.org]] 
file.
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
new file mode 100644
index 000..a0b3805
--- /dev/null
+++ b/test/bnf-mode-font-test.el
@@ -0,0 +1,58 @@
+;;; bnf-mode-font-test.el --- BNF Mode: Font highlighting test suite -*- 
lexical-binding: t; -*-
+
+;; Copyright (C) 2019 Serghei Iakovlev
+
+;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
+;; Maintainer: Serghei Iakovlev
+;; Version: 0.2.0
+;; URL: https://github.com/sergeyklay/bnf-mode
+
+;; This file is not part of GNU Emacs.
+
+;;; License
+
+;; This file is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+
+;; This file is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this file; if not, write to the Free Software
+;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;;   Automate tests from the "test" directory using `ert', which comes bundled
+;; with Emacs >= 24.1.
+
+;;; Code:
+
+
+ Utilities
+
+(defun bnf-test-face-at (pos &optional content)
+  "Get the face at POS in CONTENT.
+
+If CONTENT is not given, return the face at POS in the current
+buffer."
+  (if content
+  (bnf-test-with-temp-buffer content
+ (get-text-property pos 'face))
+(get-text-property pos 'face)))
+
+
+ Font locking
+
+(ert-deftest bnf-mode-syntax-table/fontify-dq-string ()
+  :tags '(fontification syntax-table)
+  (should (eq (bnf-test-face-at 11 " ::= \"bar\"") 
'font-lock-string-face)))
+
+(provide 'bnf-mode-font-test)
+
+;;; bnf-mode-font-test.el ends here
diff --git a/test/test-helper.el b/test/test-helper.el
new file mode 100644
index 000..a051fbe
--- /dev/null
+++ b/test/test-helper.el
@@ -0,0 +1,103 @@
+;;; test-helper.el --- BNF Mode: Non-interactive unit-test setup -*- 
lexical-binding: t; -*-
+
+;; Copyright (C) 2019 Serghei Iakovlev
+
+;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
+;; Maintainer: Serghei Iakovlev
+;; Version: 0.2.0
+;; URL: https://github.com/sergeyklay/bnf-mode
+
+;; This file is not part of GNU Emacs.
+
+;;; License
+
+;; This file is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+
+;; This file is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this file; if not, write to the Free Software
+;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; Non-interactive test suite setup for ERT Runner.
+
+;;; Code:
+
+(require 'ert-x)  ; `ert-with-test-buffer'
+(require 'cl-lib) ; `cl-defmacro'
+
+;; Make sure the exact Emacs version can be found in the build output
+(message "Running tests on Emacs %s" emacs-version)
+
+;; The test fixtures assume an indentation width of 4, so we need to set that
+;; up for the tests.
+(setq-default default-tab-width 4
+  indent-tabs-mode nil)
+
+(when (require 'undercover nil t)
+  (undercover "bnf-mode.el"))
+
+(let* ((current-file (if loa

[elpa] externals/bnf-mode 6ce1208 33/74: We're on MELPA. Yay!

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 6ce1208301f2e8bb6382bf26769af3af92f1b618
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

We're on MELPA. Yay!
---
 README.org | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.org b/README.org
index db82ac6..f965bec 100644
--- a/README.org
+++ b/README.org
@@ -3,6 +3,8 @@
 
 
[[https://www.gnu.org/licenses/gpl-3.0.txt][https://img.shields.io/badge/license-GPL_3-green.svg]]
 
[[https://travis-ci.com/sergeyklay/bnf-mode][https://travis-ci.com/sergeyklay/bnf-mode.svg]]
+[[https://melpa.org/#/bnf-mode][https://melpa.org/packages/bnf-mode-badge.svg]]
+[[https://stable.melpa.org/#/bnf-mode][https://stable.melpa.org/packages/bnf-mode-badge.svg]]
 
 A GNU Emacs major mode for editing BNF grammars.
 



[elpa] externals/bnf-mode a9d6cc3 60/74: Merge pull request #3 from sergeyklay/feature/build-pkg

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit a9d6cc3a1449e0cf73007f9ee5c5e5974ebc5cfc
Merge: aed186d 1105934
Author: Serghei Iakovlev 
Commit: GitHub 

Merge pull request #3 from sergeyklay/feature/build-pkg

Setting up Travis CI builds
---
 .travis.yml| 36 +++-
 CHANGELOG.org  |  4 +++-
 Makefile   | 11 +--
 bnf-mode.el|  2 +-
 test/bnf-mode-font-test.el |  2 +-
 test/test-helper.el|  2 +-
 6 files changed, 46 insertions(+), 11 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index b796898..795d09a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,11 +32,11 @@ cache:
 # Cache Cask bootstrap dependencies
 - "$HOME/.emacs.d/.cask"
 
-# Allow Emacs snapshot builds to fail and don't wait for it
-matrix:
-  fast_finish: true
-  allow_failures:
-- env: EMACS_VERSION=git-snapshot
+addons:
+  apt:
+packages:
+  - bsdtar
+  - texinfo
 
 git:
   depth: 1
@@ -54,6 +54,12 @@ env:
   global:
 - PATH="$HOME/bin:$HOME/.cask/bin:$HOME/.evm/bin:$PATH"
 
+# Allow Emacs snapshot builds to fail and don't wait for it
+matrix:
+  fast_finish: true
+  allow_failures:
+- env: EMACS_VERSION=git-snapshot
+
 before_install:
   # Setup Emacs Version Manager
   - git clone -q --depth=1 https://github.com/rejeep/evm.git $HOME/.evm
@@ -75,5 +81,25 @@ script:
   - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
   - make test
 
+before_deploy:
+  - git config --global user.name cicdbot
+  - git config --global user.email t...@zephir-lang.com
+  - wget 
https://github.com/jgm/pandoc/releases/download/2.7.2/pandoc-2.7.2-1-amd64.deb 
-o /dev/null
+  - sudo dpkg -i pandoc-2.7.2-1-amd64.deb
+  - make package
+
+deploy:
+  provider: releases
+  api_key:
+secure:
+  
SUFVzrJwPz29I6x4SFB5vNboKxX8pEIdB67+d6w4/hgeifYbDl7BSWLq1HFYvTIIye439uVCIN0zkwNGFUJsjIfw4Yn0N3dasgD7dlxguUz7mBg5JV8BOzQqguv/XmY3ze2aXTkk+nbx37wvTt5SsGOyq9pT/Vrufxli7YbAglFl648Nc8fshQSioBpQKWXTD3Msgs5QNjM6ShAgeEA11GBaRgO2aZaokxv+9xsdM00O7ADHulaC+jniO3BucQrENQeGI5mLIzPZdHpfOrlQ600J4jU3cC8C7NTgkQDBpNhN5eiDallvHxTl0sb5EvTwznMAGi+YXGmorgkCnGT+glnj1zWYaV2T4O038h7xT/Kub/iSpi3GQVmxMNrS09JbZXuQcXyvyvNPYJhQZG8M8MYPb1N7u6MfMav88SDTZkxGzJ9gI5l4CyPaMAO2GdVdXeY0ANGtyg7ntDZpFtxIRRjIpSthU/QQ3Ss0yL
 [...]
+  file_glob: true
+  file: bnf-mode-*.tar
+  skip_cleanup: true
+  on:
+tags: true
+condition: $EMACS_VERSION = 26.1
+repo: sergeyklay/bnf-mode
+
 notifications:
   email: false
diff --git a/CHANGELOG.org b/CHANGELOG.org
index 01de194..0f7bc58 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -5,7 +5,9 @@ All notable changes to this project will be documented in this 
file.
 
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
-** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...HEAD][Unreleased]]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...HEAD][Unreleased]]
+
+*** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...0.4.0][0.4.0]] - 
2019-04-21
 *** Added
 - Added =comment-start-skip= to help comment commands recognize comments
 - Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]
diff --git a/Makefile b/Makefile
index 62bb55d..c7daeba 100644
--- a/Makefile
+++ b/Makefile
@@ -112,11 +112,16 @@ test:
 .PHONY: clean
 clean:
$(CASK) clean-elc
-   $(RM) -f README $(ARCHIVE_NAME).info $(ARCHIVE_NAME)-pkg.el
+   $(RM) -f README $(ARCHIVE_NAME).info
+   $(RM) -f $(ARCHIVE_NAME)-pkg.el $(ARCHIVE_NAME)-*.tar
 
 .PHONY: package
 package: $(PACKAGE_NAME).tar
 
+.PHONY: install
+install: $(PACKAGE_NAME).tar
+   $(EMACS) --batch -l package -f package-initialize --eval 
"(package-install-file \"$(PWD)/$(PACKAGE_NAME).tar\")"
+
 .PHONY: help
 help: .title
echo 'Run `make init` first to install and update all local 
dependencies.'
@@ -127,8 +132,10 @@ help: .title
echo '  checkdoc: Checks BNF Mode code for errors in documentation'
echo '  build:Byte compile BNF Mode package'
echo '  test: Run the non-interactive unit test suite'
-   echo '  clean:Remove all byte compiled Elisp files'
+   echo '  clean:Remove all byte compiled Elisp files as well as build'
+   echo 'artifacts'
echo '  package:  Build package'
+   echo '  install:  Install BNF Mode'
echo ''
echo 'Available programs:'
echo '  $(CASK): $(if $(HAVE_CASK),yes,no)'
diff --git a/bnf-mode.el b/bnf-mode.el
index 387dc51..4ff9e2f 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.2
+;; Version: 0.4.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (emacs "24.3"))
diff --git a/tes

[elpa] externals/bnf-mode 1ad5de5 37/74: Amended installation methods

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 1ad5de5eaab97783b69cd2dbe13c4ab1b87e31cf
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Amended installation methods
---
 README.org | 24 +++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index 797451d..84ee0fc 100644
--- a/README.org
+++ b/README.org
@@ -59,7 +59,7 @@ to access this mode. For those who want only formal, tagged 
releases use MELPA S
 
 Or manually from MELPA with ~M-x package-refresh-contents~ and ~M-x 
package-install RET bnf-mode~ .
 
-For those who want rolling releases as they happen use MELPA:
+For those who want rolling releases as they happen use MELPA :
 
 #+begin_src emacs-lisp
 (require 'package)
@@ -92,6 +92,28 @@ Add following to your init file:
   :mode "\\.bnf\\'")
 #+end_src
 
+*** El-get
+
+
+If you use el-get, just create a recipe file ~bnf.rcp~ :
+
+#+begin_src emacs-lisp
+(:name bnf-mode
+   :website "https://github.com/sergeyklay/bnf-mode";
+   :description "BNF Mode: A major mode for editing BNF grammars"
+   :type github
+   :pkgname "sergeyklay/bnf-mode")
+#+end_src
+
+and add it to a directory present in ~el-get-recipe-path~.  Then, use ~M-x 
el-get-install  bnf-mode~
+or add :
+
+#+begin_src emacs-lisp
+(el-get-bundle bnf-mode)
+#+end_src
+
+to your init file.
+
 *** Manual Install
 
 1. Download ~bnf-mode.el~



[elpa] externals/bnf-mode a7ea867 32/74: Correct documentation

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit a7ea86762608e2f018dccdb3fd7dba986cb497a5
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Correct documentation
---
 CHANGELOG.org | 2 +-
 README.org| 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 9cc245f..ee3a3a3 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -7,7 +7,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
 *** Fixed
-- In the BNF there are no strings thus treat ~' "~ as a regular symbols
+- In the BNF there are no strings thus treat ' and " as a regular symbols
 - Minor code cleanup: removed no longer needed ~comment-*~ variables
 - In the BNF there are no grouping brackets except angle ones. Fixed
 
diff --git a/README.org b/README.org
index 31070c8..db82ac6 100644
--- a/README.org
+++ b/README.org
@@ -65,7 +65,7 @@ TODO
#+begin_src emacs-lisp
(autoload 'bnf-mode "bnf-mode" nil t)
;; OR
-   (require 'zephir-mode)
+   (require 'bnf-mode)
#+end_src
 5. Optionally byte compile ~bnf-mode.el~ for faster startup: ~M-x byte-compile~
 



[elpa] externals/bnf-mode e9a5e4a 45/74: Return back comment-start and comment-end

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit e9a5e4a28a37b2a97a784019ab859cb9d13cbc41
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Return back comment-start and comment-end

Closes #2
---
 CHANGELOG.org | 2 ++
 bnf-mode.el   | 4 
 2 files changed, 6 insertions(+)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 3800563..5b50aec 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,8 @@ All notable changes to this project will be documented in this 
file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...HEAD][Unreleased]]
+*** Changed
+- Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...0.3.2][0.3.2]] - 
2019-03-24
 *** Changed
diff --git a/bnf-mode.el b/bnf-mode.el
index e6105bc..d70f503 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -193,6 +193,10 @@ See `rx' documentation for more information about REGEXPS 
param."
   "A major mode for editing BNF grammars."
   :syntax-table bnf-mode-syntax-table
   :group 'bnf-mode
+  ;; Comments setup.
+  (setq-local comment-use-syntax nil)
+  (setq-local comment-start "; ")
+  (setq-local comment-end "")
   ;; Font locking
   (setq font-lock-defaults
 '(



[elpa] externals/bnf-mode f99de60 47/74: Cleaned up Makefile

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit f99de60613956d4fcd273a66262abf4a399154fe
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Cleaned up Makefile
---
 .gitignore |  1 -
 Makefile   | 20 ++--
 2 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/.gitignore b/.gitignore
index 87befbc..2212c96 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,3 @@
 *.elc
 .cask/
 README
-README.org2
diff --git a/Makefile b/Makefile
index 6ff1a65..f6bfbee 100644
--- a/Makefile
+++ b/Makefile
@@ -22,15 +22,17 @@
 SHELL := $(shell which bash)
 ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST
 
-EMACS := emacs
-CASK = cask
+EMACS ?= emacs
+CASK ?= cask
 PANDOC ?= pandoc
 
 EMACSFLAGS ?=
 TESTFLAGS ?= --reporter ert+duration
 PANDOCLAGS ?= --fail-if-warnings \
--reference-links \
-   --atx-headers
+   --atx-headers \
+   -f org+empty_paragraphs \
+   -t plain
 
 PKGDIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
 
@@ -44,7 +46,7 @@ VERSION ?= $(shell $(CASK) version)
 .ONESHELL: ; # recipes execute in same shell
 .NOTPARALLEL: ;  # wait for this target to finish
 .EXPORT_ALL_VARIABLES: ; # send all vars to shell
-Makefile: ; # skip prerequisite discovery
+Makefile: ;  # skip prerequisite discovery
 
 # Run make help by default
 .DEFAULT_GOAL = build
@@ -69,11 +71,9 @@ $(PKGDIR): Cask
$(CASK) install
touch $(PKGDIR)
 
-README: README.org2
-   $(PANDOC) $(PANDOCLAGS) -f org+empty_paragraphs -t plain -o $@ $^
-
-README.org2: README.org
-   $(shell cat $^ | sed -e "s/\[\[.*\.svg\]\]//g"  > $@)
+RE_BADGES = "s/\[\[.*\.svg\]\]//g"
+README: README.org
+   $(shell cat $^ | sed -e $(RE_BADGES) | $(PANDOC) $(PANDOCLAGS) -o $@)
 
 # Public targets
 
@@ -98,7 +98,7 @@ test:
 .PHONY: clean
 clean:
$(CASK) clean-elc
-   $(RM) -f README README.org2
+   $(RM) -f README
 
 .PHONY: help
 help: .title



[elpa] branch externals/bnf-mode created (now a4ca649)

2019-05-09 Thread Stefan Monnier
monnier pushed a change to branch externals/bnf-mode.

at  a4ca649   Remove wrongly used (and documented) 
syntax-propertize-function call

This branch includes the following new commits:

   new  cecdb79   Initial commit
   new  460c298   Added README file and LICENSE
   new  f0a3cd7   Add CHANGELOG file
   new  f100f00   Initial font locking
   new  b18b10c   Implemented font locking
   new  13de9e1   Updated project description
   new  f6fd97b   Setup Travis CI builds
   new  d3a7059   Added change log
   new  388206f   Correct copyright date
   new  f00384e   Change comment syntax
   new  defc412   Amended description and docs
   new  aa8e9af   Initial test case
   new  d50ded2   Amended tests
   new  1d8c1e7   Update change log [ci skip]
   new  3beded6   Rule names are case insensitive. Added test.
   new  687ee9e   Angle brackets to use for nonterminals are optional. 
Changed
   new  a7df2dd   Fontify sequences
   new  af8cf6d   Correct change log [ci skip]
   new  c836c7c   Temporarily removed ABNF, amended tests
   new  fd83621   Bump version
   new  ed24bee   Bumb version
   new  246a24f   Bump version
   new  f917836   Change default goal for make
   new  a53ade1   Fixed BNF rule name definition to follow ALGOL 60 report
   new  7e37702   Correct BNF description [ci skip]
   new  c90b14d   Correct documentation to follow code style guide.
   new  3e48f65   BNF has no strings. Treat ' and " as a symbols
   new  83f0e0f   Code cleanup
   new  a3a77e3   In the BNF there are no grouping brackets except angle 
ones. Fixed
   new  aa2c7a2   Correct change log formatting [ci skip]
   new  273eabd   Correct change log formatting (II) [ci skip]
   new  a7ea867   Correct documentation
   new  6ce1208   We're on MELPA. Yay!
   new  ac004f6   Removed the bnf-mode-version function
   new  e5f56ca   Amended documentation, update change log
   new  3a46f17   Correct documentation
   new  1ad5de5   Amended installation methods
   new  7240455   Improved test reporting
   new  1698dc8   Improved documentation
   new  1dda3ef   Provide ability to make plain text README
   new  5b6ff92   Update copyright
   new  64a32ba   Cleaned up Makefile
   new  333b6a2   Require jka-compr at test stage to prevent recursive load
   new  89660ba   Removing emacs26-el package solves "Recursive load" issue
   new  e9a5e4a   Return back comment-start and comment-end
   new  387b4c3   Minor code cleanup, improved tests report
   new  f99de60   Cleaned up Makefile
   new  3eda5e7   This package is NOT part of GNU Emacs
   new  7bbf329   Added comment-start-skip to help comment commands 
recognize comments
   new  00a0543   Removed not used tests macro
   new  ebd9b83   Added ability to generate info
   new  6eb06a8   Make tests easier to read
   new  e2f8bfa   Added support of ; character to use in terminals
   new  aed186d   Provided ability to build installation package.
   new  7a4a1b0   Build package on Travis CI
   new  f00edff   Prepare deploy on Travis CI
   new  ce5005e   Install missed dependency on Travis CI
   new  548c33b   Bump version
   new  1105934   Cleaned up Travis CI config
   new  a9d6cc3   Merge pull request #3 from sergeyklay/feature/build-pkg
   new  96c6e76   Changed CI deploy token [ci skip]
   new  00aac58   Change CI deploy credits, bump version
   new  8dabc6c   Minor correction to the change log format
   new  5a483ed   Introduce ALGOL 60 comments style
   new  65bfadc   Fixed orthodox comments regexp
   new  7c98cc9   Fixed misspelling, updated change log
   new  8caeb0b   Merge pull request #4 from 
sergeyklay/ortodox-comment-style
   new  592c7d4   Minor improvements in change log
   new  f95ec5f   Improved preparing package
   new  b02bebd   The byte-compiler reports warnings with "error"
   new  d5729af   Fixed dependencies in Cask file
   new  119d792   Added Emacs 26.2 to Travis CI build matrix
   new  e898672   Removed no longer needed local variables
   new  a4ca649   Remove wrongly used (and documented) 
syntax-propertize-function call




[elpa] externals/bnf-mode 8caeb0b 67/74: Merge pull request #4 from sergeyklay/ortodox-comment-style

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 8caeb0b966c6fd5883a5e8d406f62ef9d05a3a7b
Merge: 8dabc6c 7c98cc9
Author: Serghei Iakovlev 
Commit: GitHub 

Merge pull request #4 from sergeyklay/ortodox-comment-style

Introduce ALGOL 60 comments style
---
 CHANGELOG.org  |  11 -
 bnf-mode.el| 116 ++---
 test/bnf-mode-font-test.el |  27 ---
 test/test-helper.el|   1 +
 4 files changed, 97 insertions(+), 58 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 3375510..af429f1 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,13 @@ All notable changes to this project will be documented in this 
file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.1...HEAD][Unreleased]]
+*** Added
+- Introduce ALGOL 60 comments style 
[[https://github.com/sergeyklay/bnf-mode/pull/4][#4]]
+
+*** Changed
+- Only setting =bnf-mode-algol-comments-style= to non-nil will allow use
+  semicolons as a regular terminal symbols
+
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...0.4.1][0.4.1]] - 
2019-04-21
 *** Fixes
 - Minor fix related to build & deploy BNF Mode on Travis CI
@@ -21,7 +28,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...0.3.2][0.3.2]] - 
2019-03-24
 *** Changed
-- Publish package on MELPA 
[[https://github.com/melpa/melpa/pull/6074][(melpa/melpa#6074)]]
+- Published package on MELPA 
[[https://github.com/melpa/melpa/pull/6074][(melpa/melpa#6074)]]
 
 *** Fixed
 - In the BNF there are no strings thus treat ' and " as a regular symbols
@@ -29,7 +36,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 - In the BNF there are no grouping brackets except angle ones. Fixed
 
 *** Removed
-- Removing the ~bnf-mode-version~ function. Users can easily call 
~describe-package~
+- Removed the ~bnf-mode-version~ function. Users can easily call 
~describe-package~
   or ~pkg-info-package-version~ interactively if they want to get this 
information [[https://github.com/sergeyklay/bnf-mode/issues/1][(#1)]]
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...0.3.1][0.3.1]] - 
2019-03-17
diff --git a/bnf-mode.el b/bnf-mode.el
index 77c1b0a..8b24758 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -84,6 +84,24 @@
   :type 'hook
   :group 'bnf)
 
+(defcustom bnf-mode-algol-comments-style nil
+  "Non-nil means use for BNF comments style introduced in ALGOL 60.
+
+For the purpose of including text among the symbols of a program the
+following \"comment\" conventions will hold:
+
+  ::--:
+  | The sequence of basic symbols: | is equivalent to |
+  ::--:
+  | ; comment ; | ;|
+  | begin comment ; | begin|
+  ::--:
+
+Note: Enabling this feature will disable comments recognition which use
+semicolon only (\";\")."
+  :group 'bnf
+  :type 'boolean)
+
 
 ;;; Specialized rx
 
@@ -160,47 +178,49 @@ See `rx' documentation for more information about REGEXPS 
param."
   (let ((table (make-syntax-table)))
 ;; Give CR the same syntax as newline
 (modify-syntax-entry ?\^m "> b" table)
-;; Comments setup
-(modify-syntax-entry ?\;  "<"   table)
-(modify-syntax-entry ?\n  ">"   table)
+
 ;; Treat ::= as sequence of symbols
-(modify-syntax-entry ?\:  "_"   table)
-(modify-syntax-entry ?\=  "_"   table)
+(modify-syntax-entry ?\: "_" table)
+(modify-syntax-entry ?\= "_" table)
+
 ;; Treat | as a symbol
-(modify-syntax-entry ?\|  "_"   table)
+(modify-syntax-entry ?\| "_" table)
+
 ;; In BNF there are no strings
 ;; so treat ' and " as a symbols
-(modify-syntax-entry ?\"  "_"  table)
-(modify-syntax-entry ?\'  "_"  table)
+(modify-syntax-entry ?\" "_" table)
+(modify-syntax-entry ?\' "_" table)
+
 ;; In BNF there are no grouping
 ;; brackets except angle ones
-(modify-syntax-entry ?\(  "_"  table)
-(modify-syntax-entry ?\)  "_"  table)
-(modify-syntax-entry ?\{  "_"  table)
-(modify-syntax-entry ?\}  "_"  table)
-(modify-syntax-entry ?\[  "_"  table)
-(modify-syntax-entry ?\]  "_"  table)
+(modify-syntax-entry ?\( "_" table)
+(modify-syntax-entry ?\) "_" table)
+(modify-syntax-entry ?\{ "_" table)
+(modify-syntax-entry ?\} "_" table)
+(modify-syntax-entry ?\[ "_" table)
+(modify-syntax-entry ?\] "_" table)
+
 ;; Group angle brackets
-(modify-syntax-entry ?\<  "(>"  table)
-(modify-syntax-entry ?\>  ")<"  table)
+(modify-syntax-entry ?\< "(>" table)
+(modify-syntax-entry

[elpa] externals/bnf-mode b18b10c 05/74: Implemented font locking

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit b18b10cdd6ab043136a0ce0ad3dbf981a9dcbae5
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Implemented font locking
---
 bnf-mode.el | 71 ++---
 1 file changed, 58 insertions(+), 13 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index f6cae2b..24d6e8a 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -112,13 +112,12 @@ just return nil."
 (eval-when-compile
   (defconst bnf-rx-constituents
 `(
-  ;; non-terminal
-  (non-terminal . ,(rx (and
-"<"
-symbol-start
-(1+ (not blank))
-symbol-end
-">")))
+  ;; rulename
+  (rulename . ,(rx (and
+symbol-start
+letter
+(0+ (or "-" alnum))
+symbol-end)))
 "Additional special sexps for `bnf-rx'."))
 
   (defmacro bnf-rx (&rest sexps)
@@ -127,8 +126,13 @@ just return nil."
 In addition to the standard forms of `rx', the following forms
 are available:
 
-`non-terminal'
-  Any valid non-terminal.
+`rulename'
+  Any valid rule name.  The name of a rule is simply the
+  name itself, that is, a sequence of characters, beginning
+  with an alphabetic character, and followed by a combination
+  of alphabetics, digits, and hyphens (dashes).
+
+  For more see: https://tools.ietf.org/html/rfc5234#section-2.1
 
 See `rx' documentation for more information about REGEXPS param."
  (let ((rx-constituents (append bnf-rx-constituents rx-constituents)))
@@ -141,12 +145,34 @@ See `rx' documentation for more information about REGEXPS 
param."
 
 
 ;;; Font Locking
+
 (defvar bnf-font-lock-keywords
   `(
-;; Non-terminals
+;; LHS nonterminals
 (,(bnf-rx (and line-start
-  (group non-terminal)))
- 1 font-lock-function-name-face))
+   "<"
+   (group rulename)
+   ">"))
+ 1 font-lock-function-name-face)
+;; other nonterminals
+(,(bnf-rx (and "<"
+   (group rulename)
+   ">"))
+ 1 font-lock-builtin-face)
+;; "may expand into" symbol
+(,(bnf-rx (and (0+ space)
+   symbol-start
+   (group "::=")
+   symbol-end
+   (0+ space)))
+ 1 font-lock-constant-face)
+;; Alternatives
+(,(bnf-rx (and (0+ space)
+   symbol-start
+   (group "|")
+   symbol-end
+   (0+ space)))
+ 1 font-lock-warning-face))
   "Font lock keywords for BNF Mode.")
 
 
@@ -161,20 +187,39 @@ See `rx' documentation for more information about REGEXPS 
param."
 ;; Comments setup
 (modify-syntax-entry ?#   "<"   table)
 (modify-syntax-entry ?\n  ">"   table)
+;; Treat ::= as sequence of symbols
+(modify-syntax-entry ?\:  "_"   table)
+(modify-syntax-entry ?\=  "_"   table)
+;; Treat | as a symbol
+(modify-syntax-entry ?\|  "_"   table)
+;; Group angle brackets
+(modify-syntax-entry ?\<  "(>"  table)
+(modify-syntax-entry ?\>  ")<"  table)
 table)
   "Syntax table in use in `bnf-mode' buffers.")
 
 ;;;###autoload
 (define-derived-mode bnf-mode prog-mode "BNF"
   "A major mode for editing BNF grammars."
+  :syntax-table bnf-mode-syntax-table
   :group 'bnf-mode
   ;; Comment setup
   (setq-local comment-use-syntax t)
   (setq-local comment-auto-fill-only-comments t)
   (setq-local comment-start "# ")
   (setq-local comment-end "")
+  (setq-local font-lock-keyword-face 'php-keyword)
   ;; Font locking
-  (setq font-lock-defaults '((bnf-font-lock-keywords) nil nil)))
+  (setq font-lock-defaults '(
+ ;; Keywords
+ bnf-font-lock-keywords
+ ;; keywords-only
+ nil
+ ;; Regarding RFC-5234
+ ;; The names , , ,
+ ;; and  all refer to the same rule.
+ t
+ )))
 
 ;; Invoke bnf-mode when appropriate
 



[elpa] externals/bnf-mode 388206f 09/74: Correct copyright date

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 388206f4f91c6909f3be239a6089d13a01f19805
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Correct copyright date
---
 .travis.yml | 2 +-
 Makefile| 2 +-
 bnf-mode.el | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 391a1d7..55dacf5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 Serghei Iakovlev
+# Copyright (C) 2019 Serghei Iakovlev
 #
 # This file is not part of GNU Emacs.
 #
diff --git a/Makefile b/Makefile
index 466a264..c9976cd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 Serghei Iakovlev
+# Copyright (C) 2019 Serghei Iakovlev
 #
 # This file is not part of GNU Emacs.
 #
diff --git a/bnf-mode.el b/bnf-mode.el
index 24d6e8a..96c7ac2 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -1,6 +1,6 @@
 ;;; bnf-mode.el --- Major mode for editing BNF grammars -*- lexical-binding: 
t; -*-
 
-;; Copyright (C) 2017-2019 Serghei Iakovlev
+;; Copyright (C) 2019 Serghei Iakovlev
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev



[elpa] externals/bnf-mode 246a24f 22/74: Bump version

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 246a24f1f794a02e400a57275542d3bf8a78e8f8
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Bump version
---
 README.org | 2 +-
 bnf-mode.el| 2 +-
 test/bnf-mode-font-test.el | 2 +-
 test/test-helper.el| 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index ecf5140..7d74e9e 100644
--- a/README.org
+++ b/README.org
@@ -97,4 +97,4 @@ To see what has changed in recent versions of BNF Mode, see 
the [[https://github
 
 ** License
 
-Zephir Mode is open source software licensed under the 
[[https://github.com/sergeyklay/bnf-mode/blob/master/LICENSE][GNU General 
Public Licence version 3]] .
+BNF Mode is open source software licensed under the 
[[https://github.com/sergeyklay/bnf-mode/blob/master/LICENSE][GNU General 
Public Licence version 3]] .
diff --git a/bnf-mode.el b/bnf-mode.el
index 88cbd05..2902ada 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.0
+;; Version: 0.4.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (pkg-info "0.4") (emacs "24.3"))
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index dd8a399..096bd94 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.0
+;; Version: 0.4.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is not part of GNU Emacs.
diff --git a/test/test-helper.el b/test/test-helper.el
index 267bc9b..887675b 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.3.0
+;; Version: 0.4.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is not part of GNU Emacs.



[elpa] externals/bnf-mode 65bfadc 65/74: Fixed orthodox comments regexp

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 65bfadc9534f7a64e79ea504a15f1c0afe3c6380
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Fixed orthodox comments regexp
---
 bnf-mode.el | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index 0637dfa..a16739f 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -234,11 +234,10 @@ Currently handled:
 
 (defconst bnf--bnf-syntax-propertize-macro
   (syntax-propertize-rules
-   
("\\(?:begin\\_>\\|;\\)\\(?:$\\|\\s-\\|\n\\)+\\(\\(?:comment\\_>\\)[^;]*;\\)"
-(1 "<")))
+   ("\\(?:begin\\s-+\\|;\\s-*\\)\\(comment\\)\\(;\\|\\s-+[^;]*;\\)" (1 "<")))
   "Fontify comments in ALGOL 60 style.
 Provide a macro to apply syntax table properties to comments in ALGOL 60 style.
-Will used only if `bnf-mode-algol-commets-style' is set to t")
+Will be used only if `bnf-mode-algol-commets-style' is set to t")
 
 ;;;###autoload
 (define-derived-mode bnf-mode prog-mode "BNF"
@@ -252,7 +251,7 @@ Will used only if `bnf-mode-algol-commets-style' is set to 
t")
   (progn
 (setq-local comment-start "; comment ")
 (setq-local comment-end ";")
-(setq-local comment-start-skip "\\(?:\\(\\W\\|^\\)comment\\_>\\)\\s-+")
+(setq-local comment-start-skip "\\(?:\\(\\W\\|^\\)comment\\)\\s-+")
 (setq-local syntax-propertize-function
 bnf--bnf-syntax-propertize-macro))
 (progn



[elpa] externals/bnf-mode d5729af 71/74: Fixed dependencies in Cask file

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit d5729af143fab67b6cec20e4788f18a7f99e5d72
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Fixed dependencies in Cask file
---
 Cask | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Cask b/Cask
index cea3ee7..1a9be14 100644
--- a/Cask
+++ b/Cask
@@ -7,8 +7,10 @@
 
 (files "*.el")
 
+(depends-on "rx")
+(depends-on "cl-lib")
+
 (development
  (depends-on "f")
- (depends-on "cl-lib")
  (depends-on "ert-runner")
  (depends-on "undercover"))



[elpa] externals/bnf-mode 7a4a1b0 55/74: Build package on Travis CI

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 7a4a1b05c09ac01d41b8aee71741510ae20ec25d
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Build package on Travis CI
---
 .travis.yml |  9 +
 Makefile| 11 +--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index b796898..2a4c049 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -38,6 +38,13 @@ matrix:
   allow_failures:
 - env: EMACS_VERSION=git-snapshot
 
+addons:
+  apt:
+packages:
+  - bsdtar
+  - texinfo
+  - pandoc
+
 git:
   depth: 1
 
@@ -74,6 +81,8 @@ script:
   # The 'checkdoc-file' present on Emacs >= 25.1
   - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
   - make test
+  - make package
+  - ls -al
 
 notifications:
   email: false
diff --git a/Makefile b/Makefile
index 62bb55d..c7daeba 100644
--- a/Makefile
+++ b/Makefile
@@ -112,11 +112,16 @@ test:
 .PHONY: clean
 clean:
$(CASK) clean-elc
-   $(RM) -f README $(ARCHIVE_NAME).info $(ARCHIVE_NAME)-pkg.el
+   $(RM) -f README $(ARCHIVE_NAME).info
+   $(RM) -f $(ARCHIVE_NAME)-pkg.el $(ARCHIVE_NAME)-*.tar
 
 .PHONY: package
 package: $(PACKAGE_NAME).tar
 
+.PHONY: install
+install: $(PACKAGE_NAME).tar
+   $(EMACS) --batch -l package -f package-initialize --eval 
"(package-install-file \"$(PWD)/$(PACKAGE_NAME).tar\")"
+
 .PHONY: help
 help: .title
echo 'Run `make init` first to install and update all local 
dependencies.'
@@ -127,8 +132,10 @@ help: .title
echo '  checkdoc: Checks BNF Mode code for errors in documentation'
echo '  build:Byte compile BNF Mode package'
echo '  test: Run the non-interactive unit test suite'
-   echo '  clean:Remove all byte compiled Elisp files'
+   echo '  clean:Remove all byte compiled Elisp files as well as build'
+   echo 'artifacts'
echo '  package:  Build package'
+   echo '  install:  Install BNF Mode'
echo ''
echo 'Available programs:'
echo '  $(CASK): $(if $(HAVE_CASK),yes,no)'



[elpa] externals/bnf-mode f100f00 04/74: Initial font locking

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit f100f00d5282db5186d2457ee272664f7c3855d2
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Initial font locking
---
 bnf-mode.el | 74 -
 1 file changed, 64 insertions(+), 10 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index 8dde75f..f6cae2b 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -50,7 +50,7 @@
 ;;; Compatibility
 
 ;; Work around emacs bug#18845, cc-mode expects cl to be loaded
-;; while zephir-mode only uses cl-lib (without compatibility aliases)
+;; while bnf-mode only uses cl-lib (without compatibility aliases)
 (eval-and-compile
   (if (and (= emacs-major-version 24) (>= emacs-minor-version 4))
   (require 'cl)))
@@ -61,6 +61,9 @@
 ;; Tell the byte compiler about autoloaded functions from packages
 (declare-function pkg-info-version-info "pkg-info" (package))
 
+(eval-when-compile
+  (require 'rx))
+
 (require 'cl-lib)
 (require 'pkg-info)
 
@@ -68,7 +71,7 @@
 ;;; Customization
 
 ;;;###autoload
-(defgroup zephir nil
+(defgroup bnf nil
   "Major mode for editing BNF grammars."
   :tag "BNF"
   :prefix "bnf-"
@@ -85,7 +88,7 @@
 
 ;;; Version information
 
-(defun zephir-mode-version (&optional show-version)
+(defun bnf-mode-version (&optional show-version)
   "Display string describing the version of BNF Mode.
 
 If called interactively or if SHOW-VERSION is non-nil, show the
@@ -98,21 +101,70 @@ If the version number could not be determined, signal an 
error,
 if called interactively, or if SHOW-VERSION is non-nil, otherwise
 just return nil."
   (interactive (list t))
-  (let ((version (pkg-info-version-info 'zephir-mode)))
+  (let ((version (pkg-info-version-info 'bnf-mode)))
 (when show-version
   (message "BNF Mode version: %s" version))
 version))
 
+
+;;; Specialized rx
+
+(eval-when-compile
+  (defconst bnf-rx-constituents
+`(
+  ;; non-terminal
+  (non-terminal . ,(rx (and
+"<"
+symbol-start
+(1+ (not blank))
+symbol-end
+">")))
+"Additional special sexps for `bnf-rx'."))
+
+  (defmacro bnf-rx (&rest sexps)
+ "BNF-specific replacement for `rx'.
+
+In addition to the standard forms of `rx', the following forms
+are available:
+
+`non-terminal'
+  Any valid non-terminal.
+
+See `rx' documentation for more information about REGEXPS param."
+ (let ((rx-constituents (append bnf-rx-constituents rx-constituents)))
+   (cond ((null sexps)
+  (error "No regexp"))
+ ((cdr sexps)
+  (rx-to-string `(and ,@sexps) t))
+ (t
+  (rx-to-string (car sexps) t))
+
+
+;;; Font Locking
+(defvar bnf-font-lock-keywords
+  `(
+;; Non-terminals
+(,(bnf-rx (and line-start
+  (group non-terminal)))
+ 1 font-lock-function-name-face))
+  "Font lock keywords for BNF Mode.")
+
+
+;;; Initialization
+
 (defvar bnf-mode-syntax-table
   (let ((table (make-syntax-table)))
-(modify-syntax-entry ?#  "<" table)
-(modify-syntax-entry ?\n ">" table)
+;; Give CR the same syntax as newline
+(modify-syntax-entry ?\^m "> b" table)
+;; Characters used to delimit string constants
+(modify-syntax-entry ?\"  "\""  table)
+;; Comments setup
+(modify-syntax-entry ?#   "<"   table)
+(modify-syntax-entry ?\n  ">"   table)
 table)
   "Syntax table in use in `bnf-mode' buffers.")
 
-
-;;; Initialization
-
+;;;###autoload
 (define-derived-mode bnf-mode prog-mode "BNF"
   "A major mode for editing BNF grammars."
   :group 'bnf-mode
@@ -120,7 +172,9 @@ just return nil."
   (setq-local comment-use-syntax t)
   (setq-local comment-auto-fill-only-comments t)
   (setq-local comment-start "# ")
-  (setq-local comment-end ""))
+  (setq-local comment-end "")
+  ;; Font locking
+  (setq font-lock-defaults '((bnf-font-lock-keywords) nil nil)))
 
 ;; Invoke bnf-mode when appropriate
 



[elpa] externals/bnf-mode a53ade1 24/74: Fixed BNF rule name definition to follow ALGOL 60 report

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit a53ade1cc6c9deeaa5a2e7558af75857bff2773f
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Fixed BNF rule name definition to follow ALGOL 60 report
---
 CHANGELOG.org  |  6 +-
 README.org |  5 +++--
 bnf-mode.el| 53 +-
 test/bnf-mode-font-test.el | 28 ++--
 test/test-helper.el|  2 +-
 5 files changed, 60 insertions(+), 34 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 4704a7a..c2fcffb 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -5,7 +5,11 @@ All notable changes to this project will be documented in this 
file.
 
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
-** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...HEAD][Unreleased]]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...0.3.1][0.3.1]] - 
2019-03-17
+*** Fixed
+- Fixed BNF rule name definition to follow 
[[https://www.masswerk.at/algol60/report.htm][ALGOL 60 report]]
+
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.2.0...0.3.0][0.3.0]] - 
2019-03-17
 *** Changed
 - LHS nonterminals may be preceded by an unlimited number of spaces
diff --git a/README.org b/README.org
index 7d74e9e..04d3d0c 100644
--- a/README.org
+++ b/README.org
@@ -18,8 +18,8 @@ EBNF and ABNF are not supported but  in my plans for the near 
future.
 
 When developing this mode, the following RFCs were taken into account:
 
-- [[https://www.ietf.org/rfc/rfc822.txt][RFC822]]: Standard for ARPA Internet 
Text Messages
-- [[https://www.ietf.org/rfc/rfc5234.txt][RFC5234]]: Augmented BNF for Syntax 
Specifications: ABNF
+- [[https://tools.ietf.org/html/rfc822][RFC822]]: Standard for ARPA Internet 
Text Messages
+- [[https://tools.ietf.org/html/rfc5234][RFC5234]]: Augmented BNF for Syntax 
Specifications: ABNF
 - [[https://tools.ietf.org/html/rfc7405][RFC7405]]: Case-Sensitive String 
Support in ABNF
 
 ** Features
@@ -89,6 +89,7 @@ To see what has changed in recent versions of BNF Mode, see 
the [[https://github
 
 ** External Links
 
+- [[https://www.masswerk.at/algol60/report.htm][Revised Report on the 
Algorithmic Language Algol 60]]
 - [[https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form][Wikipedia: 
Backus–Naur form]]
 - 
[[https://en.wikipedia.org/wiki/Extended_Backus%25E2%2580%2593Naur_form][Wikipedia:
 Extended Backus–Naur form]]
 - 
[[https://en.wikipedia.org/wiki/Augmented_Backus%25E2%2580%2593Naur_form][Wikipedia:
 Augmented Backus–Naur form]]
diff --git a/bnf-mode.el b/bnf-mode.el
index 2902ada..4f1ba12 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.4.0
+;; Version: 0.3.1
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (pkg-info "0.4") (emacs "24.3"))
@@ -39,10 +39,12 @@
 ;; - RFC822: Standard for ARPA Internet Text Messages [1]
 ;; - RFC5234: Augmented BNF for Syntax Specifications: ABNF [2]
 ;; - FRC7405: Case-Sensitive String Support in ABNF [3]
+;; - Revised Report on the Algorithmic Language Algol 60 [4]
 ;;
 ;; [1]: https://www.ietf.org/rfc/rfc822.txt
 ;; [2]: https://www.ietf.org/rfc/rfc5234.txt
 ;; [3]: https://www.ietf.org/rfc/rfc7405.txt
+;; [4]: https://www.masswerk.at/algol60/report.htm
 ;;
 ;; Usage:  Put this file in your Emacs Lisp path (eg. site-lisp) and add to
 ;; your .emacs file:
@@ -114,11 +116,12 @@ just return nil."
 (eval-when-compile
   (defconst bnf-rx-constituents
 `(
-  (bnf-rule-name . ,(rx (and
- symbol-start
- letter
- (0+ (or "-" alnum))
- symbol-end)))
+  (bnf-rule-name . ,(rx
+ (and
+  (1+ (or alnum digit))
+  (0+ (or alnum digit
+  (in "!\"\#$%&'()*+,\-./:;=?@\[\\\]^_`{|}~")
+  (in " \t"))
 "Additional special sexps for `bnf-rx'."))
 
   (defmacro bnf-rx (&rest sexps)
@@ -128,11 +131,10 @@ In addition to the standard forms of `rx', the following 
forms
 are available:
 
 `bnf-rule-name'
-  Any valid BNF rule name.  The name of a rule is simply the
-  name itself, that is, a sequence of characters, beginning
-  with an alphabetic character, and followed by a combination
-  of alphabetics, digits, and hyphens (dashes).
-  For examle see RFC5234#2.1
+  Any valid BNF rule name.  This rule was obtained by studying
+  ALGOL 60 report, where the BNF was officially announced.
+  Please note: This rule is not suitable for ABNF or EBNF
+  (see URL `https://www.masswerk.at/algo

[elpa] externals/bnf-mode cecdb79 01/74: Initial commit

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit cecdb79a5755a0a07c23a2dd19aaad0d81e4ebeb
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Initial commit
---
 bnf-mode.el | 136 
 1 file changed, 136 insertions(+)

diff --git a/bnf-mode.el b/bnf-mode.el
new file mode 100644
index 000..8dde75f
--- /dev/null
+++ b/bnf-mode.el
@@ -0,0 +1,136 @@
+;;; bnf-mode.el --- Major mode for editing BNF grammars -*- lexical-binding: 
t; -*-
+
+;; Copyright (C) 2017-2019 Serghei Iakovlev
+
+;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
+;; Maintainer: Serghei Iakovlev
+;; Version: 0.1.0
+;; URL: https://github.com/sergeyklay/bnf-mode
+;; Keywords: languages
+;; Package-Requires: ((cl-lib "0.5") (pkg-info "0.4") (emacs "24.3"))
+
+;; This file is not part of GNU Emacs.
+
+;;; License
+
+;; This file is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License
+;; as published by the Free Software Foundation; either version 3
+;; of the License, or (at your option) any later version.
+
+;; This file is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this file; if not, write to the Free Software
+;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;;   GNU Emacs major mode for editing BNF grammars.  Currently this mode
+;; provides basic syntax and font-locking for "*.bnf" files.
+;;
+;; Usage:  Put this file in your Emacs Lisp path (eg. site-lisp) and add to
+;; your .emacs file:
+;;
+;;   (require 'bnf-mode)
+;;
+;; Bugs: Bug tracking is currently handled using the GitHub issue tracker at
+;; https://github.com/sergeyklay/bnf-mode/issues
+;;
+;; History: History is tracked in the Git repository rather than in this file.
+;; See https://github.com/sergeyklay/bnf-mode/blob/master/CHANGELOG.org
+
+;;; Code:
+
+
+;;; Compatibility
+
+;; Work around emacs bug#18845, cc-mode expects cl to be loaded
+;; while zephir-mode only uses cl-lib (without compatibility aliases)
+(eval-and-compile
+  (if (and (= emacs-major-version 24) (>= emacs-minor-version 4))
+  (require 'cl)))
+
+
+;;; Requirements
+
+;; Tell the byte compiler about autoloaded functions from packages
+(declare-function pkg-info-version-info "pkg-info" (package))
+
+(require 'cl-lib)
+(require 'pkg-info)
+
+
+;;; Customization
+
+;;;###autoload
+(defgroup zephir nil
+  "Major mode for editing BNF grammars."
+  :tag "BNF"
+  :prefix "bnf-"
+  :group 'languages
+  :link '(url-link :tag "GitHub Page" "https://github.com/sergeyklay/bnf-mode";)
+  :link '(emacs-commentary-link :tag "Commentary" "bnf-mode"))
+
+(defcustom bnf-mode-hook nil
+  "List of functions to call when entering BNF Mode."
+  :tag "Hook"
+  :type 'hook
+  :group 'bnf)
+
+
+;;; Version information
+
+(defun zephir-mode-version (&optional show-version)
+  "Display string describing the version of BNF Mode.
+
+If called interactively or if SHOW-VERSION is non-nil, show the
+version in the echo area and the messages buffer.
+
+The returned string includes both, the version from package.el
+and the library version, if both a present and different.
+
+If the version number could not be determined, signal an error,
+if called interactively, or if SHOW-VERSION is non-nil, otherwise
+just return nil."
+  (interactive (list t))
+  (let ((version (pkg-info-version-info 'zephir-mode)))
+(when show-version
+  (message "BNF Mode version: %s" version))
+version))
+
+(defvar bnf-mode-syntax-table
+  (let ((table (make-syntax-table)))
+(modify-syntax-entry ?#  "<" table)
+(modify-syntax-entry ?\n ">" table)
+table)
+  "Syntax table in use in `bnf-mode' buffers.")
+
+
+;;; Initialization
+
+(define-derived-mode bnf-mode prog-mode "BNF"
+  "A major mode for editing BNF grammars."
+  :group 'bnf-mode
+  ;; Comment setup
+  (setq-local comment-use-syntax t)
+  (setq-local comment-auto-fill-only-comments t)
+  (setq-local comment-start "# ")
+  (setq-local comment-end ""))
+
+;; Invoke bnf-mode when appropriate
+
+;;;###autoload
+(add-to-list 'auto-mode-alist '("\\.bnf\\'" . bnf-mode))
+
+(provide 'bnf-mode)
+
+;; Local Variables:
+;; firestarter: ert-run-tests-interactively
+;; End:
+
+;;; bnf-mode.el ends here



[elpa] externals/bnf-mode f00384e 10/74: Change comment syntax

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit f00384e485052655042df8aabd6942bdcd8cbc6b
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Change comment syntax
---
 CHANGELOG.org |  3 +++
 README.org| 10 --
 bnf-mode.el   | 28 +---
 3 files changed, 24 insertions(+), 17 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index eabf01d..e68ace6 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -5,6 +5,9 @@ All notable changes to this project will be documented in this 
file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...HEAD][Unreleased]]
+*** Changed
+- Changed comment syntax from ~#~ to ~;~ to follow 
[[https://tools.ietf.org/html/rfc822#section-2.8][RFC822#2.8]] .
+- Comments no longer use syntax table.  For more see `comment-use-syntax'.
 
 ** 0.1.0 - 2019-03-16
 *** Added
diff --git a/README.org b/README.org
index 7f8f2d0..71d405c 100644
--- a/README.org
+++ b/README.org
@@ -8,9 +8,15 @@ A GNU Emacs major mode for editing BNF grammars.
 Currently provides basic syntax and font-locking for BNF files.
 EBNF and ABNF are in my plans for the near future.
 
+When developing this mode, the following RFCs were taken into account:
+
+- [[https://www.ietf.org/rfc/rfc822.txt][RFC822]]: Standard for ARPA Internet 
Text Messages
+- [[https://www.ietf.org/rfc/rfc5234.txt][RFC5234]]: Augmented BNF for Syntax 
Specifications: ABNF
+
 ** Features
 
-1. Syntax highlighting
+- Basic syntax definition
+- Syntax highlighting
 
 ** Installation
 
@@ -74,8 +80,8 @@ To see what has changed in recent versions of BNF Mode, see 
the [[https://github
 
 ** External Links
 
-- [[https://tools.ietf.org/html/rfc5234][RFC 5234: Augmented BNF for Syntax 
Specifications: ABNF]]
 - [[https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form][Wikipedia: 
Backus–Naur form]]
+- [[https://www.ics.uci.edu/~pattis/ICS-33/lectures/ebnf.pdf][EBNF: A Notation 
to Describe Syntax]]
 
 ** License
 
diff --git a/bnf-mode.el b/bnf-mode.el
index 96c7ac2..0ebe02e 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.1.0
+;; Version: 0.2.0
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (pkg-info "0.4") (emacs "24.3"))
@@ -33,6 +33,14 @@
 ;;   GNU Emacs major mode for editing BNF grammars.  Currently this mode
 ;; provides basic syntax and font-locking for "*.bnf" files.
 ;;
+;; When developing this mode, the following RFCs were taken into account:
+;;
+;; - RFC822: Standard for ARPA Internet Text Messages [1]
+;; - RFC5234: Augmented BNF for Syntax Specifications: ABNF [2]
+;;
+;; [1]: https://www.ietf.org/rfc/rfc822.txt
+;; [2]: https://www.ietf.org/rfc/rfc5234.txt
+;;
 ;; Usage:  Put this file in your Emacs Lisp path (eg. site-lisp) and add to
 ;; your .emacs file:
 ;;
@@ -47,15 +55,6 @@
 ;;; Code:
 
 
-;;; Compatibility
-
-;; Work around emacs bug#18845, cc-mode expects cl to be loaded
-;; while bnf-mode only uses cl-lib (without compatibility aliases)
-(eval-and-compile
-  (if (and (= emacs-major-version 24) (>= emacs-minor-version 4))
-  (require 'cl)))
-
-
 ;;; Requirements
 
 ;; Tell the byte compiler about autoloaded functions from packages
@@ -185,7 +184,7 @@ See `rx' documentation for more information about REGEXPS 
param."
 ;; Characters used to delimit string constants
 (modify-syntax-entry ?\"  "\""  table)
 ;; Comments setup
-(modify-syntax-entry ?#   "<"   table)
+(modify-syntax-entry ?\;  "<"   table)
 (modify-syntax-entry ?\n  ">"   table)
 ;; Treat ::= as sequence of symbols
 (modify-syntax-entry ?\:  "_"   table)
@@ -204,9 +203,8 @@ See `rx' documentation for more information about REGEXPS 
param."
   :syntax-table bnf-mode-syntax-table
   :group 'bnf-mode
   ;; Comment setup
-  (setq-local comment-use-syntax t)
-  (setq-local comment-auto-fill-only-comments t)
-  (setq-local comment-start "# ")
+  (setq-local comment-use-syntax nil)
+  (setq-local comment-start "; ")
   (setq-local comment-end "")
   (setq-local font-lock-keyword-face 'php-keyword)
   ;; Font locking
@@ -215,7 +213,7 @@ See `rx' documentation for more information about REGEXPS 
param."
  bnf-font-lock-keywords
  ;; keywords-only
  nil
- ;; Regarding RFC-5234
+ ;; Regarding RFC5234
  ;; The names , , ,
  ;; and  all refer to the same rule.
  t



[elpa] externals/bnf-mode 6eb06a8 52/74: Make tests easier to read

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 6eb06a8cc85cfac2ce639b3c2cb05b42d4a7c895
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Make tests easier to read
---
 test/bnf-mode-font-test.el | 184 +++--
 1 file changed, 96 insertions(+), 88 deletions(-)

diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 58fb1f6..6f9b1b7 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -38,122 +38,130 @@
 
 (ert-deftest bnf-mode-syntax-table/fontify-strings ()
   :tags '(fontification syntax-table)
-  (bnf-test-with-temp-buffer " ::= \" | ' | ` | ”"
- (should-not (bnf-test-face-at 23))
- (should-not (bnf-test-face-at 27))
- (should-not (bnf-test-face-at 31))
- (should-not (bnf-test-face-at 35
+  (bnf-test-with-temp-buffer
+   " ::= \" | ' | ` | ”"
+   (should-not (bnf-test-face-at 23))
+   (should-not (bnf-test-face-at 27))
+   (should-not (bnf-test-face-at 31))
+   (should-not (bnf-test-face-at 35
 
 (ert-deftest bnf-mode-syntax-table/fontify-line-comment ()
   :tags '(fontification syntax-table)
-  (bnf-test-with-temp-buffer "; A
+  (bnf-test-with-temp-buffer
+   "; A
 
  ::=  ; foo"
- (should (eq (bnf-test-face-at 1) 
'font-lock-comment-delimiter-face))
- (should (eq (bnf-test-face-at 3) 
'font-lock-comment-face))
- (should-not (bnf-test-face-at 5))
- (should (eq (bnf-test-face-at 24) 
'font-lock-comment-face
+   (should (eq (bnf-test-face-at 1) 'font-lock-comment-delimiter-face))
+   (should (eq (bnf-test-face-at 3) 'font-lock-comment-face))
+   (should-not (bnf-test-face-at 5))
+   (should (eq (bnf-test-face-at 24) 'font-lock-comment-face
 
 (ert-deftest bnf-mode-syntax-table/fontify-nonterminals ()
   :tags '(fontification syntax-table)
-  (bnf-test-with-temp-buffer " ::= 
+  (bnf-test-with-temp-buffer
+   " ::= 
 angle-brackets ::= are-optional"
- ;; angle bracket
- (should-not (bnf-test-face-at 1))
- ;; “stm”
- (should (eq (bnf-test-face-at 2) 
'font-lock-function-name-face))
- (should (eq (bnf-test-face-at 4) 
'font-lock-function-name-face))
- ;; angle bracket
- (should-not (bnf-test-face-at 5))
- ;; “::=” symbol
- (should (eq (bnf-test-face-at 7) 
'font-lock-constant-face))
- (should (eq (bnf-test-face-at 9) 
'font-lock-constant-face))
- ;; angle bracket
- (should-not (bnf-test-face-at 11))
- ;; “dec” symbol
- (should (eq (bnf-test-face-at 12) 
'font-lock-builtin-face))
- (should (eq (bnf-test-face-at 15) 
'font-lock-builtin-face
+   ;; angle bracket
+   (should-not (bnf-test-face-at 1))
+   ;; "stm"
+   (should (eq (bnf-test-face-at 2) 'font-lock-function-name-face))
+   (should (eq (bnf-test-face-at 4) 'font-lock-function-name-face))
+   ;; angle bracket
+   (should-not (bnf-test-face-at 5))
+   ;; "::=" symbol
+   (should (eq (bnf-test-face-at 7) 'font-lock-constant-face))
+   (should (eq (bnf-test-face-at 9) 'font-lock-constant-face))
+   ;; angle bracket
+   (should-not (bnf-test-face-at 11))
+   ;; "dec" symbol
+   (should (eq (bnf-test-face-at 12) 'font-lock-builtin-face))
+   (should (eq (bnf-test-face-at 15) 'font-lock-builtin-face
 
 (ert-deftest bnf-mode-syntax-table/fontify-nonterminals-case ()
   :tags '(fontification syntax-table)
-  (bnf-test-with-temp-buffer " ::= 
+  (bnf-test-with-temp-buffer
+   " ::= 
  ::= "
- (should (eq (bnf-test-face-at 2) 
'font-lock-function-name-face))
- (should (eq (bnf-test-face-at 5) 
'font-lock-function-name-face))
- (should-not (bnf-test-face-at 17))
- (should (eq (bnf-test-face-at 19) 
'font-lock-function-name-face))
- (should (eq (bnf-test-face-at 22) 
'font-lock-function-name-face))
- (should-not (bnf-test-face-at 23))
- (should (eq (bnf-test-face-at 30) 
'font-lock-builtin-face))
- (should (eq (bnf-test-face-at 32) 
'font-lock-builtin-face))
- (should-not (bnf-test-face-at 33
+   (should (eq (bnf-test-face-at 2) 'font-lock-function-name-face))
+   (should (eq (bnf-test-face-at 5) 'font-lock-function-name-face))
+   (should-not (bnf-test-face-at 17))
+   (should (eq (bnf-test-face-at 19) 'font-lock-function-name-face))
+   (should (eq (bnf-test-face-at 22) 'font-lock-

[elpa] externals/bnf-mode 1105934 59/74: Cleaned up Travis CI config

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 11059348858882334ebf29bd22c5e1c06c63a600
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Cleaned up Travis CI config
---
 .travis.yml | 20 +---
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 8f71308..795d09a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,18 +32,11 @@ cache:
 # Cache Cask bootstrap dependencies
 - "$HOME/.emacs.d/.cask"
 
-# Allow Emacs snapshot builds to fail and don't wait for it
-matrix:
-  fast_finish: true
-  allow_failures:
-- env: EMACS_VERSION=git-snapshot
-
 addons:
   apt:
 packages:
   - bsdtar
   - texinfo
-  - pandoc
 
 git:
   depth: 1
@@ -61,6 +54,12 @@ env:
   global:
 - PATH="$HOME/bin:$HOME/.cask/bin:$HOME/.evm/bin:$PATH"
 
+# Allow Emacs snapshot builds to fail and don't wait for it
+matrix:
+  fast_finish: true
+  allow_failures:
+- env: EMACS_VERSION=git-snapshot
+
 before_install:
   # Setup Emacs Version Manager
   - git clone -q --depth=1 https://github.com/rejeep/evm.git $HOME/.evm
@@ -81,14 +80,13 @@ script:
   # The 'checkdoc-file' present on Emacs >= 25.1
   - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
   - make test
-  - wget 
https://github.com/jgm/pandoc/releases/download/2.7.2/pandoc-2.7.2-1-amd64.deb 
-o /dev/null
-  - sudo dpkg -i pandoc-2.7.2-1-amd64.deb
-  - make package
-  - ls -al
 
 before_deploy:
   - git config --global user.name cicdbot
   - git config --global user.email t...@zephir-lang.com
+  - wget 
https://github.com/jgm/pandoc/releases/download/2.7.2/pandoc-2.7.2-1-amd64.deb 
-o /dev/null
+  - sudo dpkg -i pandoc-2.7.2-1-amd64.deb
+  - make package
 
 deploy:
   provider: releases



[elpa] externals/bnf-mode d50ded2 13/74: Amended tests

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit d50ded2d2125f3085ce70a1e52459e29cf327314
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Amended tests
---
 Makefile   |  2 +-
 test/bnf-mode-font-test.el | 30 +-
 2 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index c9976cd..3750c2c 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@
 
 SHELL := $(shell which bash)
 ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST
-EMACS = emacs
+EMACS := emacs
 CASK = cask
 EMACSFLAGS ?=
 TESTFLAGS ?=
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index a0b3805..e099d26 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -49,10 +49,38 @@ buffer."
 
  Font locking
 
-(ert-deftest bnf-mode-syntax-table/fontify-dq-string ()
+(ert-deftest bnf-mode-syntax-table/fontify-strings ()
   :tags '(fontification syntax-table)
   (should (eq (bnf-test-face-at 11 " ::= \"bar\"") 
'font-lock-string-face)))
 
+(ert-deftest bnf-mode-syntax-table/fontify-line-comment ()
+  :tags '(fontification syntax-table)
+  (bnf-test-with-temp-buffer "; A
+
+ ::=  ; foo"
+ (should (eq (bnf-test-face-at 1) 
'font-lock-comment-face))
+ (should (eq (bnf-test-face-at 3) 
'font-lock-comment-face))
+ (should-not (bnf-test-face-at 5))
+ (should (eq (bnf-test-face-at 24) 
'font-lock-comment-face
+
+(ert-deftest bnf-mode-syntax-table/fontify-nonterminals ()
+  :tags '(fontification syntax-table)
+  (bnf-test-with-temp-buffer " ::= "
+ ;; angle bracket
+ (should-not (bnf-test-face-at 1))
+ ;; "stm"
+ (should (eq (bnf-test-face-at 2) 
'font-lock-function-name-face))
+ (should (eq (bnf-test-face-at 4) 
'font-lock-function-name-face))
+ ;; angle bracket
+ (should-not (bnf-test-face-at 5))
+ ;; "may expand into" symbol
+ (should-not (eq (bnf-test-face-at 7) 
'font-lock-function-name-face))
+ ;; angle bracket
+ (should-not (bnf-test-face-at 11))
+ ;; "dec" symbol
+ (should-not (eq (bnf-test-face-at 12) 
'font-lock-function-name-face))
+ (should-not (eq (bnf-test-face-at 15) 
'font-lock-function-name-face
+
 (provide 'bnf-mode-font-test)
 
 ;;; bnf-mode-font-test.el ends here



[elpa] externals/bnf-mode 687ee9e 16/74: Angle brackets to use for nonterminals are optional. Changed

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 687ee9e0c10f18c711888af96573bf7b97aff4da
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Angle brackets to use for nonterminals are optional. Changed

In addition:

- LHS nonterminals may be preceded by an unlimited number of spaces
---
 CHANGELOG.org  |  8 ++--
 bnf-mode.el| 36 +++-
 test/bnf-mode-font-test.el | 37 -
 3 files changed, 61 insertions(+), 20 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index f8157a7..eb76ed8 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -7,12 +7,16 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...HEAD][Unreleased]]
 
+*** Changed
+- LHS nonterminals may be preceded by an unlimited number of spaces
+- Regarding to 
[[https://tools.ietf.org/html/rfc5234#section-2.1][RFC5234#2.1]] angle brackets 
to use for nonterminals are optional
+
 ** 0.2.0 - 2019-03-16
 *** Changed
-- Comments are no longer use syntax table.  For more see `comment-use-syntax'.
+- Comments are no longer use syntax table.  For more see `comment-use-syntax'
 
 *** Fixed
-- Changed comment syntax from ~#~ to ~;~ to follow 
[[https://tools.ietf.org/html/rfc822#section-2.8][RFC822#2.8]] .
+- Changed comment syntax from ~#~ to ~;~ to follow 
[[https://tools.ietf.org/html/rfc822#section-2.8][RFC822#2.8]]
 
 ** 0.1.0 - 2019-03-16
 *** Added
diff --git a/bnf-mode.el b/bnf-mode.el
index dd685ef..32e74ec 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -146,23 +146,41 @@ See `rx' documentation for more information about REGEXPS 
param."
 
 (defvar bnf-font-lock-keywords
   `(
-;; LHS nonterminals
+;; LHS nonterminals may be preceded
+;; by an unlimited number of spaces
 (,(bnf-rx (and line-start
+   (0+ space)
"<"
(group rulename)
-   ">"))
+   ">"
+   (1+ space)
+   "::="))
  1 font-lock-function-name-face)
-;; other nonterminals
-(,(bnf-rx (and "<"
+;; Regarding to RFC5234#2.1 angle brackets
+;; (“<”, “>”) for LHS nonterminals are optional.
+(,(bnf-rx (and line-start
+   (0+ space)
+   (group rulename)
+   (1+ space)
+   "::="))
+ 1 font-lock-function-name-face)
+;; RHS nonterminals
+(,(bnf-rx (and "::="
+   (1+ space)
+   "<"
(group rulename)
">"))
  1 font-lock-builtin-face)
-;; "may expand into" symbol
-(,(bnf-rx (and (0+ space)
-   symbol-start
+ ;; Regarding to RFC5234#2.1 angle brackets
+ ;; (“<”, “>”) for RHS nonterminals are optional.
+ (,(bnf-rx (and "::="
+   (1+ space)
+   (group rulename)))
+ 1 font-lock-builtin-face)
+;; “may expand into” symbol
+(,(bnf-rx (and symbol-start
(group "::=")
-   symbol-end
-   (0+ space)))
+   symbol-end))
  1 font-lock-constant-face)
 ;; Alternatives
 (,(bnf-rx (and (0+ space)
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 2300695..23c5bd9 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -61,27 +61,35 @@ buffer."
  (should (eq (bnf-test-face-at 1) 
'font-lock-comment-face))
  (should (eq (bnf-test-face-at 3) 
'font-lock-comment-face))
  (should-not (bnf-test-face-at 5))
- (should (eq (bnf-test-face-at 24) '
- font-lock-comment-face
+ (should (eq (bnf-test-face-at 24) 
'font-lock-comment-face
 
 (ert-deftest bnf-mode-syntax-table/fontify-nonterminals ()
   :tags '(fontification syntax-table)
-  (bnf-test-with-temp-buffer " ::= "
+  (bnf-test-with-temp-buffer " ::= 
+angle-brackets ::= are-optional"
  ;; angle bracket
  (should-not (bnf-test-face-at 1))
- ;; "stm"
+ ;; “stm”
  (should (eq (bnf-test-face-at 2) 
'font-lock-function-name-face))
  (should (eq (bnf-test-face-at 4) 
'font-lock-function-name-face))
  ;; angle bracket
  (should-not (bnf-test-face-at 5))
- ;; "may expand into" symbol
- (should-not (eq (bnf-test-face-at 7) 
'font-lock-function-name-face))
- (should-not (eq (bnf-test-face-at 9) 
'font-lock-function-name-face))
+ ;; “::=” symbol
+

[elpa] externals/bnf-mode 1d8c1e7 14/74: Update change log [ci skip]

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 1d8c1e7b51498138fd630221e9aaec106cf6aeba
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Update change log [ci skip]
---
 CHANGELOG.org | 6 +-
 README.org| 3 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index a0d2708..f8157a7 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,9 +6,13 @@ All notable changes to this project will be documented in this 
file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.1.0...HEAD][Unreleased]]
+
+** 0.2.0 - 2019-03-16
 *** Changed
+- Comments are no longer use syntax table.  For more see `comment-use-syntax'.
+
+*** Fixed
 - Changed comment syntax from ~#~ to ~;~ to follow 
[[https://tools.ietf.org/html/rfc822#section-2.8][RFC822#2.8]] .
-- Comments no longer use syntax table.  For more see `comment-use-syntax'.
 
 ** 0.1.0 - 2019-03-16
 *** Added
diff --git a/README.org b/README.org
index 83f4a46..8a1d74a 100644
--- a/README.org
+++ b/README.org
@@ -7,7 +7,8 @@
 A GNU Emacs major mode for editing BNF grammars.
 
 #+begin_quote
-Precise language is not the problem.  Clear language is the problem.
+“Precise language is not the problem.  Clear language is the problem.”
+
 Richard Feynman
 #+end_quote
 



[elpa] externals/bnf-mode 96c6e76 61/74: Changed CI deploy token [ci skip]

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 96c6e768417d91de349ef3d373893d7d5775073e
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Changed CI deploy token [ci skip]
---
 .travis.yml | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 795d09a..e7bbe1a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -90,9 +90,7 @@ before_deploy:
 
 deploy:
   provider: releases
-  api_key:
-secure:
-  
SUFVzrJwPz29I6x4SFB5vNboKxX8pEIdB67+d6w4/hgeifYbDl7BSWLq1HFYvTIIye439uVCIN0zkwNGFUJsjIfw4Yn0N3dasgD7dlxguUz7mBg5JV8BOzQqguv/XmY3ze2aXTkk+nbx37wvTt5SsGOyq9pT/Vrufxli7YbAglFl648Nc8fshQSioBpQKWXTD3Msgs5QNjM6ShAgeEA11GBaRgO2aZaokxv+9xsdM00O7ADHulaC+jniO3BucQrENQeGI5mLIzPZdHpfOrlQ600J4jU3cC8C7NTgkQDBpNhN5eiDallvHxTl0sb5EvTwznMAGi+YXGmorgkCnGT+glnj1zWYaV2T4O038h7xT/Kub/iSpi3GQVmxMNrS09JbZXuQcXyvyvNPYJhQZG8M8MYPb1N7u6MfMav88SDTZkxGzJ9gI5l4CyPaMAO2GdVdXeY0ANGtyg7ntDZpFtxIRRjIpSthU/QQ3Ss0yL
 [...]
+  api_key: $GITHUB_TOKEN
   file_glob: true
   file: bnf-mode-*.tar
   skip_cleanup: true



[elpa] externals/bnf-mode 64a32ba 42/74: Cleaned up Makefile

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 64a32ba59e587250d41d30e60bf60b62ff2eff58
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Cleaned up Makefile
---
 Makefile | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index cd6314d..5bba2c5 100644
--- a/Makefile
+++ b/Makefile
@@ -24,13 +24,14 @@ ROOT_DIR := $(shell dirname $(realpath $(lastword 
$(MAKEFILE_LIST
 
 EMACS := emacs
 CASK = cask
-PANDOC ?= pandoc \
-   --fail-if-warnings \
-   --reference-links \
-   --atx-headers
+PANDOC ?= pandoc
 
 EMACSFLAGS ?=
 TESTFLAGS ?=
+PANDOCLAGS ?= --fail-if-warnings \
+   --reference-links \
+   --atx-headers
+
 PKGDIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
 
 # File lists
@@ -69,7 +70,7 @@ $(PKGDIR): Cask
touch $(PKGDIR)
 
 README: README.org2
-   $(PANDOC) -f org+empty_paragraphs -t plain -o $@ $^
+   $(PANDOC) $(PANDOCLAGS) -f org+empty_paragraphs -t plain -o $@ $^
 
 README.org2: README.org
$(shell cat $^ | sed -e "s/\[\[.*\.svg\]\]//g"  > $@)



[elpa] externals/bnf-mode 5a483ed 64/74: Introduce ALGOL 60 comments style

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 5a483ed7ad1b846db3faa2410932ccb796b9956c
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Introduce ALGOL 60 comments style
---
 bnf-mode.el | 107 +++-
 1 file changed, 84 insertions(+), 23 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index 77c1b0a..0637dfa 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -84,6 +84,23 @@
   :type 'hook
   :group 'bnf)
 
+(defcustom bnf-mode-algol-commets-style nil
+  "Non-nil means use for BNF comments style introduced in ALGOL 60.
+
+For the purpose of including text among the symbols of a program the following
+\"comment\" conventions will hold:
+
+  ::--:
+  | The sequence of basic symbols: | is equivalent to |
+  ::--:
+  | ; comment ; | ;|
+  | begin comment ; | begin|
+  ::--:
+
+Note: Enabling this feature disables ABNF/EBN comments style (just \";\")."
+  :group 'bnf
+  :type 'boolean)
+
 
 ;;; Specialized rx
 
@@ -160,33 +177,43 @@ See `rx' documentation for more information about REGEXPS 
param."
   (let ((table (make-syntax-table)))
 ;; Give CR the same syntax as newline
 (modify-syntax-entry ?\^m "> b" table)
-;; Comments setup
-(modify-syntax-entry ?\;  "<"   table)
-(modify-syntax-entry ?\n  ">"   table)
+
 ;; Treat ::= as sequence of symbols
-(modify-syntax-entry ?\:  "_"   table)
-(modify-syntax-entry ?\=  "_"   table)
+(modify-syntax-entry ?\: "_" table)
+(modify-syntax-entry ?\= "_" table)
+
 ;; Treat | as a symbol
-(modify-syntax-entry ?\|  "_"   table)
+(modify-syntax-entry ?\| "_" table)
+
 ;; In BNF there are no strings
 ;; so treat ' and " as a symbols
-(modify-syntax-entry ?\"  "_"  table)
-(modify-syntax-entry ?\'  "_"  table)
+(modify-syntax-entry ?\" "_" table)
+(modify-syntax-entry ?\' "_" table)
+
 ;; In BNF there are no grouping
 ;; brackets except angle ones
-(modify-syntax-entry ?\(  "_"  table)
-(modify-syntax-entry ?\)  "_"  table)
-(modify-syntax-entry ?\{  "_"  table)
-(modify-syntax-entry ?\}  "_"  table)
-(modify-syntax-entry ?\[  "_"  table)
-(modify-syntax-entry ?\]  "_"  table)
+(modify-syntax-entry ?\( "_" table)
+(modify-syntax-entry ?\) "_" table)
+(modify-syntax-entry ?\{ "_" table)
+(modify-syntax-entry ?\} "_" table)
+(modify-syntax-entry ?\[ "_" table)
+(modify-syntax-entry ?\] "_" table)
+
 ;; Group angle brackets
-(modify-syntax-entry ?\<  "(>"  table)
-(modify-syntax-entry ?\>  ")<"  table)
+(modify-syntax-entry ?\< "(>" table)
+(modify-syntax-entry ?\> ")<" table)
+
+;; Comments setup
+(if bnf-mode-algol-commets-style
+(modify-syntax-entry ?\; ">" table)
+  (progn
+(modify-syntax-entry ?\; "<" table)
+(modify-syntax-entry ?\n ">" table)))
+
 table)
   "Syntax table in use in `bnf-mode' buffers.")
 
-(defun bnf--syntax-propertize (start end)
+(defun bnf--bnf-syntax-propertize-function (start end)
   "Apply syntax table properties to special constructs in region START to END.
 Currently handled:
 
@@ -205,18 +232,52 @@ Currently handled:
 
 ;;; Initialization
 
+(defconst bnf--bnf-syntax-propertize-macro
+  (syntax-propertize-rules
+   
("\\(?:begin\\_>\\|;\\)\\(?:$\\|\\s-\\|\n\\)+\\(\\(?:comment\\_>\\)[^;]*;\\)"
+(1 "<")))
+  "Fontify comments in ALGOL 60 style.
+Provide a macro to apply syntax table properties to comments in ALGOL 60 style.
+Will used only if `bnf-mode-algol-commets-style' is set to t")
+
 ;;;###autoload
 (define-derived-mode bnf-mode prog-mode "BNF"
   "A major mode for editing BNF grammars."
   :syntax-table bnf-mode-syntax-table
   :group 'bnf-mode
-  ;; Comments setup.
+
+  ;; Comments setup
   (setq-local comment-use-syntax nil)
-  (setq-local comment-start "; ")
-  (setq-local comment-end "")
-  (setq-local comment-start-skip "\\(?:\\(\\W\\|^\\);+\\)\\s-*")
-  ;; Tune up syntax `syntax-table'
-  (setq-local syntax-propertize-function #'bnf--syntax-propertize)
+  (if bnf-mode-algol-commets-style
+  (progn
+(setq-local comment-start "; comment ")
+(setq-local comment-end ";")
+(setq-local comment-start-skip "\\(?:\\(\\W\\|^\\)comment\\_>\\)\\s-+")
+(setq-local syntax-propertize-function
+bnf--bnf-syntax-propertize-macro))
+(progn
+  (setq-local comment-start "; ")
+  (setq-local comment-end "")
+  (setq-local comment-start-skip "\\(?:\\(\\W\\|^\\);+\\)\\s-+")
+  (setq-local syntax-propertize-function
+  #'bnf--bnf-syntax-propertize-function)))
+
+  ;; Basically `syntax-propertize-function' is a construct which belongs
+  ;; to `font-lock'.  But correct indentation depends on
+  ;;

[elpa] externals/bnf-mode 460c298 02/74: Added README file and LICENSE

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 460c29869afff0b09d0e2ce393159030e16c735c
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Added README file and LICENSE
---
 LICENSE| 674 +
 README.org |   6 +
 2 files changed, 680 insertions(+)

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000..20d40b6
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,674 @@
+GNU GENERAL PUBLIC LICENSE
+   Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. 
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+   TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+

[elpa] externals/bnf-mode 8dabc6c 63/74: Minor correction to the change log format

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 8dabc6c3c2fed6876b2bad420d38367d1dd34cc1
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Minor correction to the change log format
---
 CHANGELOG.org | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 509d6d5..3375510 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,11 +6,11 @@ All notable changes to this project will be documented in 
this file.
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.1...HEAD][Unreleased]]
-*** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...0.4.1][0.4.1]] - 
2019-04-21
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...0.4.1][0.4.1]] - 
2019-04-21
 *** Fixes
 - Minor fix related to build & deploy BNF Mode on Travis CI
 
-*** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...0.4.0][0.4.0]] - 
2019-04-21
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...0.4.0][0.4.0]] - 
2019-04-21
 *** Added
 - Added =comment-start-skip= to help comment commands recognize comments
 - Return back =comment-start= and =comment-end= removed in 
[[https://github.com/sergeyklay/bnf-mode/commit/83f0e0fc144e453bcce459d2d655a7b48e77953e][83f0e0f]]



[elpa] externals/bnf-mode 83f0e0f 28/74: Code cleanup

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 83f0e0fc144e453bcce459d2d655a7b48e77953e
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Code cleanup
---
 CHANGELOG.org | 1 +
 bnf-mode.el   | 6 --
 2 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index fb0f271..26d2302 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -8,6 +8,7 @@ The format is based on [[http://keepachangelog.com][Keep a 
Changelog]] and this
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
 *** Fixed
 - Original BNF has no strings so treat ~'~ and ~"~ as a symbols
+- Minor code cleanup: removed no longer needed ~comment-*~ variables
 
 ** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.0...0.3.1][0.3.1]] - 
2019-03-17
 *** Fixed
diff --git a/bnf-mode.el b/bnf-mode.el
index 1c41ea0..85085da 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -210,12 +210,6 @@ See `rx' documentation for more information about REGEXPS 
param."
   "A major mode for editing BNF grammars."
   :syntax-table bnf-mode-syntax-table
   :group 'bnf-mode
-
-  ;; Comments setup.
-  (setq-local comment-use-syntax nil)
-  (setq-local comment-start "; ")
-  (setq-local comment-end "")
-
   ;; Font locking
   (setq font-lock-defaults
 '(



[elpa] externals/bnf-mode 1698dc8 39/74: Improved documentation

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 1698dc889e8b51b361cab11eaa81c2d7419b9c71
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Improved documentation
---
 README.org | 28 ++--
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/README.org b/README.org
index 84ee0fc..607cbb2 100644
--- a/README.org
+++ b/README.org
@@ -48,7 +48,8 @@ to the relevant 
[[https://github.com/sergeyklay/bnf-mode/tags][tag]].
 
 The best way of installing this major mode, at least for GNU Emacs 24, is to
 use the packaging system.  Add MELPA or MELPA Stable to the list of 
repositories
-to access this mode. For those who want only formal, tagged releases use MELPA 
Stable:
+to access this mode. For those who want only formal, tagged releases use MELPA
+Stable:
 
 #+begin_src emacs-lisp
 (require 'package)
@@ -57,8 +58,6 @@ to access this mode. For those who want only formal, tagged 
releases use MELPA S
 (package-initialize)
 #+end_src
 
-Or manually from MELPA with ~M-x package-refresh-contents~ and ~M-x 
package-install RET bnf-mode~ .
-
 For those who want rolling releases as they happen use MELPA :
 
 #+begin_src emacs-lisp
@@ -68,13 +67,22 @@ For those who want rolling releases as they happen use 
MELPA :
 (package-initialize)
 #+end_src
 
-and then use ~M-x package-list-packages~ to get to the package listing and 
install from there.
-MELPA tracks this Git repository and updates relatively soon after each commit 
or formal release.
-For more detail on setting up see [[https://melpa.org/#/getting-started][MELPA 
Getting Started]].
+and then use ~M-x package-refresh-contents~ and ~M-x package-list-packages~ to 
get to
+the package listing and install ~bnf-mode~ from there.  MELPA tracks this Git 
repository
+and updates relatively soon after each commit or formal release.  For more 
detail on
+setting up see [[https://melpa.org/#/getting-started][MELPA Getting Started]].
+
+You can install ~bnf-mode~ manually by adding following to your init file :
+
+#+begin_src emacs-lisp
+(unless (package-installed-p 'bnf-mode)
+(package-refresh-contents)
+(package-install 'bnf-mode))
+#+end_src
 
  Using Cask
 
-Add following to your [[https://cask.github.io/][Cask]] file:
+Add following to your [[https://cask.github.io/][Cask]] file :
 
 #+begin_src emacs-lisp
 (source melpa)
@@ -84,7 +92,7 @@ Add following to your [[https://cask.github.io/][Cask]] file:
 
  Using use-package
 
-Add following to your init file:
+Add following to your init file :
 
 #+begin_src emacs-lisp
 (use-package bnf-mode
@@ -105,8 +113,8 @@ If you use el-get, just create a recipe file ~bnf.rcp~ :
:pkgname "sergeyklay/bnf-mode")
 #+end_src
 
-and add it to a directory present in ~el-get-recipe-path~.  Then, use ~M-x 
el-get-install  bnf-mode~
-or add :
+and add it to a directory present in ~el-get-recipe-path~.
+Then, use ~M-x el-get-install  bnf-mode~ or add :
 
 #+begin_src emacs-lisp
 (el-get-bundle bnf-mode)



[elpa] externals/bnf-mode 00aac58 62/74: Change CI deploy credits, bump version

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 00aac58ae65d800385043128f4a23ab33a7649a2
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Change CI deploy credits, bump version
---
 .travis.yml| 4 ++--
 CHANGELOG.org  | 5 -
 bnf-mode.el| 2 +-
 test/bnf-mode-font-test.el | 2 +-
 test/test-helper.el| 2 +-
 5 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index e7bbe1a..b7b8adf 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -82,8 +82,8 @@ script:
   - make test
 
 before_deploy:
-  - git config --global user.name cicdbot
-  - git config --global user.email t...@zephir-lang.com
+  - git config --global user.name "Serghei Iakovlev"
+  - git config --global user.email serg...@phalconphp.com
   - wget 
https://github.com/jgm/pandoc/releases/download/2.7.2/pandoc-2.7.2-1-amd64.deb 
-o /dev/null
   - sudo dpkg -i pandoc-2.7.2-1-amd64.deb
   - make package
diff --git a/CHANGELOG.org b/CHANGELOG.org
index 0f7bc58..509d6d5 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -5,7 +5,10 @@ All notable changes to this project will be documented in this 
file.
 
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
-** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...HEAD][Unreleased]]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.1...HEAD][Unreleased]]
+*** [[https://github.com/sergeyklay/bnf-mode/compare/0.4.0...0.4.1][0.4.1]] - 
2019-04-21
+*** Fixes
+- Minor fix related to build & deploy BNF Mode on Travis CI
 
 *** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...0.4.0][0.4.0]] - 
2019-04-21
 *** Added
diff --git a/bnf-mode.el b/bnf-mode.el
index 4ff9e2f..77c1b0a 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.4.0
+;; Version: 0.4.1
 ;; URL: https://github.com/sergeyklay/bnf-mode
 ;; Keywords: languages
 ;; Package-Requires: ((cl-lib "0.5") (emacs "24.3"))
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 655146d..5ac0179 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.4.0
+;; Version: 0.4.1
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is NOT part of GNU Emacs.
diff --git a/test/test-helper.el b/test/test-helper.el
index 1f5be9e..a8db9f6 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -4,7 +4,7 @@
 
 ;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
-;; Version: 0.4.0
+;; Version: 0.4.1
 ;; URL: https://github.com/sergeyklay/bnf-mode
 
 ;; This file is NOT part of GNU Emacs.



[elpa] externals/bnf-mode 7e37702 25/74: Correct BNF description [ci skip]

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 7e37702359423b12a6de43d8a118ea00fdd66da1
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Correct BNF description [ci skip]
---
 README.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.org b/README.org
index 04d3d0c..c3f2ade 100644
--- a/README.org
+++ b/README.org
@@ -18,6 +18,7 @@ EBNF and ABNF are not supported but  in my plans for the near 
future.
 
 When developing this mode, the following RFCs were taken into account:
 
+- [[https://www.masswerk.at/algol60/report.htm][Revised Report on the 
Algorithmic Language Algol 60]]
 - [[https://tools.ietf.org/html/rfc822][RFC822]]: Standard for ARPA Internet 
Text Messages
 - [[https://tools.ietf.org/html/rfc5234][RFC5234]]: Augmented BNF for Syntax 
Specifications: ABNF
 - [[https://tools.ietf.org/html/rfc7405][RFC7405]]: Case-Sensitive String 
Support in ABNF
@@ -89,7 +90,6 @@ To see what has changed in recent versions of BNF Mode, see 
the [[https://github
 
 ** External Links
 
-- [[https://www.masswerk.at/algol60/report.htm][Revised Report on the 
Algorithmic Language Algol 60]]
 - [[https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form][Wikipedia: 
Backus–Naur form]]
 - 
[[https://en.wikipedia.org/wiki/Extended_Backus%25E2%2580%2593Naur_form][Wikipedia:
 Extended Backus–Naur form]]
 - 
[[https://en.wikipedia.org/wiki/Augmented_Backus%25E2%2580%2593Naur_form][Wikipedia:
 Augmented Backus–Naur form]]



[elpa] externals/bnf-mode 00a0543 50/74: Removed not used tests macro

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 00a0543588c740da4875ad219e85855318d342f8
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Removed not used tests macro
---
 test/bnf-mode-font-test.el |  2 +-
 test/test-helper.el| 42 +-
 2 files changed, 6 insertions(+), 38 deletions(-)

diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index ff4aa09..58fb1f6 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -141,7 +141,7 @@ angle-brackets ::= are-optional"
 
 (ert-deftest bnf-mode-syntax-table/fontify-rule-punctuation ()
   :tags '(fontification syntax-table)
-  (bnf-test-with-temp-buffer"
+  (bnf-test-with-temp-buffer "
  ::=
 
 | "
diff --git a/test/test-helper.el b/test/test-helper.el
index 52cc590..5bbfc83 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -32,17 +32,11 @@
 
 ;;; Code:
 
-(require 'ert-x)  ; `ert-with-test-buffer'
-(require 'cl-lib) ; `cl-defmacro'
+(require 'cl-lib) ; `cl-defmacro'
 
 ;; Make sure the exact Emacs version can be found in the build output
 (message "Running tests on Emacs %s" emacs-version)
 
-;; The test fixtures assume an indentation width of 4, so we need to set that
-;; up for the tests.
-(setq-default default-tab-width 4
-  indent-tabs-mode nil)
-
 (when (require 'undercover nil t)
   (undercover "bnf-mode.el"))
 
@@ -53,45 +47,19 @@
   ;; Load the file under test
   (load (expand-file-name "bnf-mode" source-directory)))
 
-;; Helpers
-
-(cl-defmacro bnf-deftest (name args &body body)
-  (declare (indent 2))
-  `(ert-deftest ,(intern (format "bnf-ert-%s" name)) ()
- ""
- ,@args))
-
-(cl-defmacro bnf-ert-with-test-buffer ((&rest args) initial-contents &body 
body)
-  (declare (indent 2))
-  `(ert-with-test-buffer (,@args)
- (bnf-mode)
- (insert ,initial-contents)
- ,@body))
-
-(defmacro bnf-test-with-temp-buffer (content &rest body)
+(cl-defmacro bnf-test-with-temp-buffer (content &rest body)
   "Evaluate BODY in a temporary buffer with CONTENT."
   (declare (debug t)
(indent 1))
   `(with-temp-buffer
  (insert ,content)
  (bnf-mode)
- (font-lock-fontify-buffer)
+ ,(if (fboundp 'font-lock-ensure)
+  '(font-lock-ensure)
+'(with-no-warnings (font-lock-fontify-buffer)))
  (goto-char (point-min))
  ,@body))
 
-(cl-defmacro bnf-def-indentation-test (name args initial-contents 
expected-output)
-  (declare (indent 2))
-  `(bnf-deftest ,name ,args
-(bnf-ert-with-test-buffer (:name ,(format "(Expected)" name))
-  ,initial-contents
-  (let ((indented 
(ert-buffer-string-reindented)))
-(delete-region (point-min) 
(point-max))
-(insert ,expected-output)
-(ert-with-test-buffer (:name 
,(format "(Actual)" name))
-  (bnf-mode)
-  (insert indented)
-  (should (equal indented 
,expected-output)))
-
 (defun bnf-test-face-at (pos &optional content)
   "Get the face at POS in CONTENT.
 



[elpa] externals/bnf-mode 387b4c3 46/74: Minor code cleanup, improved tests report

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 387b4c33f34c444549246c21c4da39844f39cb73
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Minor code cleanup, improved tests report
---
 .travis.yml |  2 +-
 Makefile|  2 +-
 bnf-mode.el | 17 +++--
 3 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index eb8b1f0..623e8a8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -73,7 +73,7 @@ script:
   - make init
   # The 'checkdoc-file' present on Emacs >= 25.1
   - '[[ "$EMACS_MAJOR_VERSION" = "24" ]] || make checkdoc'
-  - TESTFLAGS="--reporter ert+duration" make test
+  - make test
 
 notifications:
   email: false
diff --git a/Makefile b/Makefile
index 5bba2c5..6ff1a65 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@ CASK = cask
 PANDOC ?= pandoc
 
 EMACSFLAGS ?=
-TESTFLAGS ?=
+TESTFLAGS ?= --reporter ert+duration
 PANDOCLAGS ?= --fail-if-warnings \
--reference-links \
--atx-headers
diff --git a/bnf-mode.el b/bnf-mode.el
index d70f503..89e4b17 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -89,16 +89,14 @@
 
 (eval-when-compile
   (defconst bnf-rx-constituents
-`(
-  (bnf-rule-name . ,(rx
- (and
-  (1+ (or alnum digit))
-  (0+ (or alnum digit
-  (in "!\"\#$%&'()*+,\-./:;=?@\[\\\]^_`{|}~")
-  (in " \t"))
+`((bnf-rule-name . ,(rx (and
+ (1+ (or alnum digit))
+ (0+ (or alnum digit
+ (in 
"!\"\#$%&'()*+,\-./:;=?@\[\\\]^_`{|}~")
+ (in " \t"))
 "Additional special sexps for `bnf-rx'."))
 
-  (defmacro bnf-rx (&rest sexps)
+  (cl-defmacro bnf-rx (&rest sexps)
  "BNF-specific replacement for `rx'.
 
 In addition to the standard forms of `rx', the following forms
@@ -209,8 +207,7 @@ See `rx' documentation for more information about REGEXPS 
param."
   ;; all refer to the same rule.  As far as is known, this doesn't
   ;; conflict with original BNF version
   ;; (see URL `https://tools.ietf.org/html/rfc5234')
-  t
-  )))
+  t)))
 
 ;; Invoke bnf-mode when appropriate
 



[elpa] externals/bnf-mode 3beded6 15/74: Rule names are case insensitive. Added test.

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 3beded6594876625283ac11ee0f3a32c9716ec58
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Rule names are case insensitive. Added test.
---
 bnf-mode.el|  7 ---
 test/bnf-mode-font-test.el | 21 ++---
 2 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index dd3e1c1..dd685ef 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -212,9 +212,10 @@ See `rx' documentation for more information about REGEXPS 
param."
  bnf-font-lock-keywords
  ;; keywords-only
  nil
- ;; Regarding to RFC5234#2.1
- ;; The names , , ,
- ;; and  all refer to the same rule.
+ ;; Regarding to RFC5234#2.1 rule names are case
+ ;; insensitive.  The names , ,
+ ;; , and  all refer to the
+ ;; same rule.
  t
  )))
 
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index e099d26..2300695 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -61,7 +61,8 @@ buffer."
  (should (eq (bnf-test-face-at 1) 
'font-lock-comment-face))
  (should (eq (bnf-test-face-at 3) 
'font-lock-comment-face))
  (should-not (bnf-test-face-at 5))
- (should (eq (bnf-test-face-at 24) 
'font-lock-comment-face
+ (should (eq (bnf-test-face-at 24) '
+ font-lock-comment-face
 
 (ert-deftest bnf-mode-syntax-table/fontify-nonterminals ()
   :tags '(fontification syntax-table)
@@ -75,11 +76,25 @@ buffer."
  (should-not (bnf-test-face-at 5))
  ;; "may expand into" symbol
  (should-not (eq (bnf-test-face-at 7) 
'font-lock-function-name-face))
+ (should-not (eq (bnf-test-face-at 9) 
'font-lock-function-name-face))
  ;; angle bracket
  (should-not (bnf-test-face-at 11))
  ;; "dec" symbol
- (should-not (eq (bnf-test-face-at 12) 
'font-lock-function-name-face))
- (should-not (eq (bnf-test-face-at 15) 
'font-lock-function-name-face
+ (should (eq (bnf-test-face-at 12) 
'font-lock-builtin-face))
+ (should (eq (bnf-test-face-at 15) 
'font-lock-builtin-face
+
+(ert-deftest bnf-mode-syntax-table/fontify-nonterminals-case ()
+  :tags '(fontification syntax-table)
+  (bnf-test-with-temp-buffer " ::= foo
+ ::= "
+ (should (eq (bnf-test-face-at 2) 
'font-lock-function-name-face))
+ (should (eq (bnf-test-face-at 5) 
'font-lock-function-name-face))
+ (should (eq (bnf-test-face-at 17) 
'font-lock-function-name-face))
+ (should (eq (bnf-test-face-at 20) 
'font-lock-function-name-face))
+ (should-not (bnf-test-face-at 21))
+ (should (eq (bnf-test-face-at 28) 
'font-lock-builtin-face))
+ (should (eq (bnf-test-face-at 30) 
'font-lock-builtin-face))
+ (should-not (bnf-test-face-at 31
 
 (provide 'bnf-mode-font-test)
 



[elpa] externals/bnf-mode defc412 11/74: Amended description and docs

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit defc4129e40999529c814eb0774c7510e20d148f
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Amended description and docs
---
 CHANGELOG.org |  1 +
 README.org| 11 ++-
 bnf-mode.el   | 15 +++
 3 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index e68ace6..a0d2708 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -1,4 +1,5 @@
 #+TITLE: Change Log
+#+AUTHOR: Serghei Iakovlev
 
 All notable changes to this project will be documented in this file.
 
diff --git a/README.org b/README.org
index 71d405c..83f4a46 100644
--- a/README.org
+++ b/README.org
@@ -1,12 +1,20 @@
 #+TITLE: BNF Mode for GNU Emacs
+#+AUTHOR: Serghei Iakovlev
 
 
[[https://www.gnu.org/licenses/gpl-3.0.txt][https://img.shields.io/badge/license-GPL_3-green.svg]]
 
[[https://travis-ci.com/sergeyklay/bnf-mode][https://travis-ci.com/sergeyklay/bnf-mode.svg]]
 
 A GNU Emacs major mode for editing BNF grammars.
 
+#+begin_quote
+Precise language is not the problem.  Clear language is the problem.
+Richard Feynman
+#+end_quote
+
 Currently provides basic syntax and font-locking for BNF files.
-EBNF and ABNF are in my plans for the near future.
+EBNF and ABNF are in my plans for the near future.  At this time BNF Mode
+is not an absolutely accurate implementation of the standards and
+recommendations, but I'll try to be as close to them as possible.
 
 When developing this mode, the following RFCs were taken into account:
 
@@ -81,6 +89,7 @@ To see what has changed in recent versions of BNF Mode, see 
the [[https://github
 ** External Links
 
 - [[https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form][Wikipedia: 
Backus–Naur form]]
+- [[https://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf][ISO/IEC 14977: EBNF]]
 - [[https://www.ics.uci.edu/~pattis/ICS-33/lectures/ebnf.pdf][EBNF: A Notation 
to Describe Syntax]]
 
 ** License
diff --git a/bnf-mode.el b/bnf-mode.el
index 0ebe02e..dd3e1c1 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -61,10 +61,10 @@
 (declare-function pkg-info-version-info "pkg-info" (package))
 
 (eval-when-compile
-  (require 'rx))
+  (require 'rx)); `rx'
 
-(require 'cl-lib)
-(require 'pkg-info)
+(require 'cl-lib)   ; `cl-defmacro'
+(require 'pkg-info) ; `pkg-info-version-info'
 
 
 ;;; Customization
@@ -130,8 +130,7 @@ are available:
   name itself, that is, a sequence of characters, beginning
   with an alphabetic character, and followed by a combination
   of alphabetics, digits, and hyphens (dashes).
-
-  For more see: https://tools.ietf.org/html/rfc5234#section-2.1
+  For more see RFC5234#2.1
 
 See `rx' documentation for more information about REGEXPS param."
  (let ((rx-constituents (append bnf-rx-constituents rx-constituents)))
@@ -183,7 +182,7 @@ See `rx' documentation for more information about REGEXPS 
param."
 (modify-syntax-entry ?\^m "> b" table)
 ;; Characters used to delimit string constants
 (modify-syntax-entry ?\"  "\""  table)
-;; Comments setup
+;; Comments setup (see RFC822#2.8)
 (modify-syntax-entry ?\;  "<"   table)
 (modify-syntax-entry ?\n  ">"   table)
 ;; Treat ::= as sequence of symbols
@@ -202,7 +201,7 @@ See `rx' documentation for more information about REGEXPS 
param."
   "A major mode for editing BNF grammars."
   :syntax-table bnf-mode-syntax-table
   :group 'bnf-mode
-  ;; Comment setup
+  ;; Comment setup (for more see RFC822#2.8)
   (setq-local comment-use-syntax nil)
   (setq-local comment-start "; ")
   (setq-local comment-end "")
@@ -213,7 +212,7 @@ See `rx' documentation for more information about REGEXPS 
param."
  bnf-font-lock-keywords
  ;; keywords-only
  nil
- ;; Regarding RFC5234
+ ;; Regarding to RFC5234#2.1
  ;; The names , , ,
  ;; and  all refer to the same rule.
  t



[elpa] externals/bnf-mode e5f56ca 35/74: Amended documentation, update change log

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit e5f56ca65052187cfa3d4475359275e13852640d
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Amended documentation, update change log
---
 CHANGELOG.org |  4 +++-
 README.org| 48 
 2 files changed, 47 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 7cfa351..3800563 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -5,7 +5,9 @@ All notable changes to this project will be documented in this 
file.
 
 The format is based on [[http://keepachangelog.com][Keep a Changelog]] and 
this project adheres to [[http://semver.org][Semantic Versioning]].
 
-** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...HEAD][Unreleased]]
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.2...HEAD][Unreleased]]
+
+** [[https://github.com/sergeyklay/bnf-mode/compare/0.3.1...0.3.2][0.3.2]] - 
2019-03-24
 *** Changed
 - Publish package on MELPA 
[[https://github.com/melpa/melpa/pull/6074][(melpa/melpa#6074)]]
 
diff --git a/README.org b/README.org
index f965bec..22bb9be 100644
--- a/README.org
+++ b/README.org
@@ -44,13 +44,53 @@ NOTE: The ~master~ branch will always contain the latest 
unstable version.
 If you wish to check older versions or formal, tagged release, please switch
 to the relevant [[https://github.com/sergeyklay/bnf-mode/tags][tag]].
 
-*** Using use-package
+*** Using MELPA
 
-TODO
+The best way of installing this major mode, at least for GNU Emacs 24, is to
+use the packaging system.  Add MELPA or MELPA Stable to the list of 
repositories
+to access this mode. For those who want only formal, tagged releases use MELPA 
Stable:
 
-*** Using MELPA
+#+begin_src emacs-lisp
+(require 'package)
+(add-to-list 'package-archives
+ '("melpa-stable" . "https://stable.melpa.org/packages/";) t)
+(package-initialize)
+#+end_src
+
+Or manually from MELPA with ~M-x package-refresh-contents~ and ~M-x 
package-install RET bnf-mode~ .
+
+For those who want rolling releases as they happen use MELPA:
+
+#+begin_src emacs-lisp
+(require 'package)
+(add-to-list 'package-archives
+ '("melpa" . "https://melpa.org/packages/";) t)
+(package-initialize)
+#+end_src
+
+and then use ~M-x package-list-packages~ to get to the package listing and 
install from there.
+MELPA tracks this Git repository and updates relatively soon after each commit 
or formal release.
+For more detail on setting up see [[https://melpa.org/#/getting-started][MELPA 
Getting Started]].
+
+ Using Cask
+
+Add following to your [[https://cask.github.io/][Cask]] file:
+
+#+begin_src emacs-lisp
+(source melpa)
+
+(depends-on "bnf-mode")
+#+end_src
+
+ Using use-package
+
+Add following to your init file:
 
-TODO
+#+begin_src emacs-lisp
+(use-package bnf-mode
+  :ensure t
+  :mode "\\.bnf\\'")
+#+end_src
 
 *** Manual Install
 



[elpa] externals/bnf-mode 5b6ff92 41/74: Update copyright

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit 5b6ff92fec19bbacf73a61c20bfd605471fb3f34
Author: Serghei Iakovlev 
Commit: Serghei Iakovlev 

Update copyright
---
 bnf-mode.el| 2 +-
 test/bnf-mode-font-test.el | 2 +-
 test/test-helper.el| 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index d589f66..e6105bc 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2019 Serghei Iakovlev
 
-;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
+;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
 ;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode
diff --git a/test/bnf-mode-font-test.el b/test/bnf-mode-font-test.el
index 02f1ac7..31b5568 100644
--- a/test/bnf-mode-font-test.el
+++ b/test/bnf-mode-font-test.el
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2019 Serghei Iakovlev
 
-;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
+;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
 ;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode
diff --git a/test/test-helper.el b/test/test-helper.el
index 6480f75..1d957bb 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2019 Serghei Iakovlev
 
-;; Author: Serghei Iakovlev (concat "sadhooklay" "@" "gmail" ".com")
+;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
 ;; Version: 0.3.2
 ;; URL: https://github.com/sergeyklay/bnf-mode



[elpa] externals/bnf-mode bfc9f67: * bnf-mode.el: Fix copyright. Tweak the code

2019-05-09 Thread Stefan Monnier
branch: externals/bnf-mode
commit bfc9f676f2910a1e2d43dcae6b2a7d57b16005f3
Author: Stefan Monnier 
Commit: Stefan Monnier 

* bnf-mode.el: Fix copyright.  Tweak the code

Remove redundant :group args.
(bnf-mode-hook): Remove (auto-generated by `define-derived-mode).
(bnf-rx-constituents): Remove ineffective backslashes (they should be
doubled to be effective).
(bnf-rx): Hoist common code out of `cond`.
---
 bnf-mode.el | 36 +++-
 1 file changed, 15 insertions(+), 21 deletions(-)

diff --git a/bnf-mode.el b/bnf-mode.el
index 35b0fa4..ec88093 100644
--- a/bnf-mode.el
+++ b/bnf-mode.el
@@ -1,6 +1,6 @@
 ;;; bnf-mode.el --- Major mode for editing BNF grammars. -*- lexical-binding: 
t; -*-
 
-;; Copyright (C) 2019 Serghei Iakovlev
+;; Copyright (C) 2019 Free Software Foundation, Inc
 
 ;; Author: Serghei Iakovlev 
 ;; Maintainer: Serghei Iakovlev
@@ -11,7 +11,7 @@
 
 ;; This file is NOT part of GNU Emacs.
 
-;;; License
+ License
 
 ;; This file is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU General Public License
@@ -24,9 +24,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with this file; if not, write to the Free Software
-;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-;; 02110-1301, USA.
+;; along with this file.  If not, see .
 
 ;;; Commentary:
 
@@ -78,12 +76,6 @@
   :link '(url-link :tag "GitHub Page" "https://github.com/sergeyklay/bnf-mode";)
   :link '(emacs-commentary-link :tag "Commentary" "bnf-mode"))
 
-(defcustom bnf-mode-hook nil
-  "List of functions to call when entering BNF Mode."
-  :tag "Hook"
-  :type 'hook
-  :group 'bnf)
-
 (defcustom bnf-mode-algol-comments-style nil
   "Non-nil means use for BNF comments style introduced in ALGOL 60.
 
@@ -99,7 +91,6 @@ following \"comment\" conventions will hold:
 
 Note: Enabling this feature will disable comments recognition which use
 semicolon only (\";\")."
-  :group 'bnf
   :type 'boolean)
 
 
@@ -110,7 +101,7 @@ semicolon only (\";\")."
 `((bnf-rule-name . ,(rx (and
  (1+ (or alnum digit))
  (0+ (or alnum digit
- (in 
"!\"\#$%&'()*+,\-./:;=?@\[\\\]^_`{|}~")
+ (in "!\"#$%&'()*+,-./:;=?@[\\]^_`{|}~")
  (in " \t"))
 "Additional special sexps for `bnf-rx'."))
 
@@ -128,12 +119,10 @@ are available:
 
 See `rx' documentation for more information about REGEXPS param."
  (let ((rx-constituents (append bnf-rx-constituents rx-constituents)))
-   (cond ((null sexps)
-  (error "No regexp"))
- ((cdr sexps)
-  (rx-to-string `(and ,@sexps) t))
- (t
-  (rx-to-string (car sexps) t))
+   (rx-to-string (cond ((null sexps) (error "No regexp"))
+   ((cdr sexps)  `(and ,@sexps))
+   (t(car sexps)))
+ t))
 
 
 ;;; Font Locking
@@ -177,8 +166,14 @@ See `rx' documentation for more information about REGEXPS 
param."
 (defvar bnf-mode-syntax-table
   (let ((table (make-syntax-table)))
 ;; Give CR the same syntax as newline
+;; FIXME: Why?
 (modify-syntax-entry ?\^m "> b" table)
 
+;; FIXME: "_" doesn't mean "symbol" but "symbol constituent".
+;; I.e. the settings below mean that Emacs will consider "a:b=(c" as one
+;; symbol (aka "identifier") which can be seen if you try to C-M-f and
+;; C-M-b to move by sexps.
+
 ;; Treat ::= as sequence of symbols
 (modify-syntax-entry ?\: "_" table)
 (modify-syntax-entry ?\= "_" table)
@@ -229,7 +224,6 @@ Will be used only if `bnf-mode-algol-comments-style' is set 
to t")
 (define-derived-mode bnf-mode prog-mode "BNF"
   "A major mode for editing BNF grammars."
   :syntax-table bnf-mode-syntax-table
-  :group 'bnf-mode
 
   ;; Comments setup
   (setq-local comment-use-syntax nil)
@@ -251,7 +245,7 @@ Will be used only if `bnf-mode-algol-comments-style' is set 
to t")
   bnf-font-lock-keywords
   ;; keywords-only
   nil
-  ;; Regarding to RFC5234 rule names are case insensitive.
+  ;; According to RFC5234 rule names are case insensitive.
   ;; The names , , , and 
   ;; all refer to the same rule.  As far as is known, this doesn't
   ;; conflict with original BNF version



[elpa] master 3c8be15: packages/arbitools/arbitools.el: Fixed bugs in ARPO

2019-05-09 Thread David Gonzalez Gandara
branch: master
commit 3c8be155d4ffa3644f1ea8a7d342728e4c9c660f
Author: David Gonzalez Gandara 
Commit: David Gonzalez Gandara 

packages/arbitools/arbitools.el: Fixed bugs in ARPO
---
 packages/arbitools/arbitools.el | 418 
 1 file changed, 208 insertions(+), 210 deletions(-)

diff --git a/packages/arbitools/arbitools.el b/packages/arbitools/arbitools.el
index ca3a70e..e08e7d0 100644
--- a/packages/arbitools/arbitools.el
+++ b/packages/arbitools/arbitools.el
@@ -3,7 +3,7 @@
 ;; Copyright 2016 Free Software Foundation, Inc.
 
 ;; Author: David Gonzalez Gandara 
-;; Version: 0.97
+;; Version: 0.975
 ;; Package-Requires: ((cl-lib "0.5"))
 
 ;; This program is free software: you can redistribute it and/or modify
@@ -90,27 +90,17 @@
 ;; -
 ;;
 ;; - Write the add players from file function in ELISP.
-;;
 ;; - Insert results from a results file created with a pairing program.
 ;;   Add the date in the "132" line and the results in the "001" lines.
-;;
 ;; - Add empty round. Ask for date create empty space in the players lines.
 ;;   Add the date in the "132" line.
-;; 
 ;; - Add the rank number and the position automatically when adding players.
-;;
 ;; - Add team.
-;;
 ;; - Add player to team. Prompt for team and player number.
-;;
 ;; - Generate pgn file for a round or the whole tournament.
-;;
 ;; - Reorder the players list
-;;
 ;; - Error handling
-;;
 ;; - Make the interface more friendly
-;;
 ;; You will find more information in www.dggandara.eu/arbitools.htm
 
 ;;; Code:
@@ -118,6 +108,9 @@
 (eval-when-compile (require 'cl-lib))
 
 (defvar arbitools-verbose nil)
+(defvar arbitools-elo-floor 1000)
+(defvar arbitools-arpo-cutworst t)
+(defvar arbitools-arpo-cutbest t)
 (defvar arbitools-performancetable (list -800 -677 -589 -538 -501 -470 -444 
-422 -401 -383 -366 -351 -336 -322 -309 -296 -284 -273 -262 -251 -240 -230 -220 
-211 -202 -193 -184 -175 -166 -158 -149 -141 -133 -125 -117 -110 -102 -95 -87 
-80 -72 -65 -57 -50 -43 -36 -29 -21 -14 -7 0 7 14 21 29 36 43 50 57 65 72 80 87 
95 102 110 117 125 133 141 149 158 166 175 184 193 202 211 220 230 240 251 262 
273 284 296 309 322 336 351 366 383 401 422 444 470 501 538 589 677 800))
 (defvar arbitools-players-info nil)
 
@@ -138,6 +131,8 @@
  (add-to-list 'playerinfo rankstring)
  (add-to-list 'playerinfo namestring t)
  (add-to-list 'playerinfo elostring t)
+ (add-to-list 'playerinfo 0 t)
+ ;;(add-to-list 'playerinfo (arbitools-get-player-opponents-average 
(string-to-number rankstring)) t)
   (add-to-list 'arbitools-players-info playerinfo t)
 
 (defun arbitools-do-pairings (round)
@@ -447,6 +442,7 @@
 
 (defun arbitools-new-trf ()
   "Create an empty trf file"
+  ;; TODO prompt for the data of the tournament to create the structure
   (interactive)
   (generate-new-buffer "New trf")
   (switch-to-buffer "New trf")
@@ -502,6 +498,8 @@
 
 (defun arbitools-actual-round ()
   "Calculate the actual round. It has to be run on the principal buffer."
+  ;; TODO this function can be improved by checking all the players lines
+  ;; instead of just the first one
   (let* ((actualround 0))
 (save-excursion
   (goto-char (point-min))
@@ -922,109 +920,128 @@
((string= "-" result) (insert (format "%s b +" white)))
((string= "0" result) (insert (format "%s b 1" white)
 
-(defun arbitools-get-player-opponents (player &rest cutworst)
+(defun arbitools-get-player-opponents-average (player)
+  "Takes the player's rank as argument. Returns the average rating of the 
opponents"
+  (save-excursion
+(let*((eloaverage 0.0)
+ (opponents (arbitools-get-player-opponents player)))
+  (dolist (opponent opponents)
+   (let* ((rating (string-to-number (nth 2
+ (nth (- (string-to-number opponent) 1) arbitools-players-info)
+ (when (not rating) (setq rating arbitools-elo-floor))
+ (when (not (numberp rating)) (setq rating arbitools-elo-floor));; 
floor rating here
+ (when (= rating 0) (setq rating arbitools-elo-floor))  ;; 
floor rating here
+ (setq eloaverage (+ eloaverage rating
+  (setq eloaverage (/ eloaverage (length opponents)))
+  eloaverage)))
+
+(defun arbitools-get-player-ci (player)
+  "Takes the player's rank as argument. Returns the re-scaling of diff"
+  (save-excursion
+(let*((sum_mi_ci  0.0)
+ (sum_mi 0.0)
+ (ci 0.0)
+ (opponents (arbitools-get-player-opponents player)))
+  (dolist (opponent opponents)
+(setq sum_mi (+ sum_mi (length (arbitools-get-player-opponents 
(string-to-number opponent)
+   (setq sum_mi_ci (+ sum_mi_ci (* (nth 3 (nth (- (string-to-number 
opponent) 1) arbitools-players-info)) (length (arbitools-get-player-opponents 
(string-to-number opponent))
+   )
+  (setq ci (- (nth 3 (nth (- player 1) arbitools-players-info)) (/ 
sum_mi