[nongnu] elpa/popup 1ed0404318: ci: No more platform specific

2022-03-27 Thread ELPA Syncer
branch: elpa/popup
commit 1ed0404318eed671a7172c5d09def59f29aa
Author: Jen-Chieh Shen 
Commit: Jen-Chieh Shen 

ci: No more platform specific
---
 Makefile | 17 +
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile
index b195fa999f..7a6c52ecdb 100644
--- a/Makefile
+++ b/Makefile
@@ -5,18 +5,12 @@ EASK ?= eask
 
 TEST-FILES := $(shell ls test/popup-*.el)
 
-.PHONY: clean package install compile lint unix-test
+.PHONY: clean checkdoc lint package install compile test
 
 ci: clean package install compile
 
-clean:
-   @echo "Cleaning..."
-   $(EASK) clean-all
-
 package:
@echo "Packaging..."
-   $(EASK) autoloads
-   $(EASK) pkg-file
$(EASK) package
 
 install:
@@ -27,10 +21,9 @@ compile:
@echo "Compiling..."
$(EASK) compile
 
-lint:
-   @echo "Linting..."
-   $(EASK) lint
-
-unix-test:
+test:
@echo "Testing..."
$(EASK) exec ert-runner -L . $(LOAD-TEST-FILES) -t '!no-win' -t '!org'
+
+clean:
+   rm -rf .cask *.elc



[elpa] externals/cape 6c02a8ed24: cape-dabbrev: More flexible `cape-dabbrev-check-other-buffers' (#35)

2022-03-27 Thread ELPA Syncer
branch: externals/cape
commit 6c02a8ed24d0f4a8b0200d0846c53340654afb9c
Author: Ingo Lohmar 
Commit: GitHub 

cape-dabbrev: More flexible `cape-dabbrev-check-other-buffers' (#35)

Previously, the setting was boolean, and it checked only the current
or (basically) all other buffers.  This adds an option to use any other
non-nil value, which allows the user to make use of dabbrev's
"select-buffer" mechanism.
---
 cape.el | 14 ++
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/cape.el b/cape.el
index e17888b7fd..a016b62774 100644
--- a/cape.el
+++ b/cape.el
@@ -68,8 +68,14 @@ auto completion does not pop up too aggressively."
   :type 'integer)
 
 (defcustom cape-dabbrev-check-other-buffers t
-  "Buffers to check for dabbrev."
-  :type 'boolean)
+  "Buffers to check for dabbrev.
+
+If t, check all other buffers (subject to dabbrev ignore rules).
+Any other non-nil value only checks some other buffers, as per
+`dabbrev-select-buffers-function'."
+  :type '(choice (const :tag "off" nil)
+(const :tag "some" 'some)
+(other :tag "all" t)))
 
 (defcustom cape-file-directory-must-exist t
   "The parent directory must exist for file completion."
@@ -529,8 +535,8 @@ If INTERACTIVE is nil the function acts like a capf."
   "Find all dabbrev expansions for WORD."
   (require 'dabbrev)
   (cape--silent
-(let ((dabbrev-check-all-buffers cape-dabbrev-check-other-buffers)
-  (dabbrev-check-other-buffers cape-dabbrev-check-other-buffers))
+(let ((dabbrev-check-other-buffers (not (null 
cape-dabbrev-check-other-buffers)))
+  (dabbrev-check-all-buffers (eq cape-dabbrev-check-other-buffers t)))
   (dabbrev--reset-global-variables))
 (cl-loop with min-len = (+ cape-dabbrev-min-length (length word))
  for w in (dabbrev--find-all-expansions word 
(dabbrev--ignore-case-p word))



[elpa] externals/cape 25591ef5a2: Add cape-capf-prefix-length (Fix #33)

2022-03-27 Thread ELPA Syncer
branch: externals/cape
commit 25591ef5a2bd0acefb2ca82a610c24909ae7a2ba
Author: Daniel Mendler 
Commit: Daniel Mendler 

Add cape-capf-prefix-length (Fix #33)
---
 README.org |  1 +
 cape.el| 16 ++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/README.org b/README.org
index 6c50dd12c9..15383d74d9 100644
--- a/README.org
+++ b/README.org
@@ -222,6 +222,7 @@ achieve a similarly refreshing strategy.
 - ~cape-wrap-case-fold~, ~cape-capf-case-fold~: Create a Capf which is case 
insensitive.
 - ~cape-wrap-properties~, ~cape-capf-properties~: Add completion properties to 
a Capf.
 - ~cape-wrap-predicate~, ~cape-capf-predicate~: Add candidate predicate to a 
Capf.
+- ~cape-wrap-prefix-length~, ~cape-capf-prefix-length~: Enforce a minimal 
prefix length.
 
 * Contributions
 
diff --git a/cape.el b/cape.el
index a016b62774..29465800a7 100644
--- a/cape.el
+++ b/cape.el
@@ -74,8 +74,8 @@ If t, check all other buffers (subject to dabbrev ignore 
rules).
 Any other non-nil value only checks some other buffers, as per
 `dabbrev-select-buffers-function'."
   :type '(choice (const :tag "off" nil)
-(const :tag "some" 'some)
-(other :tag "all" t)))
+ (const :tag "some" 'some)
+ (other :tag "all" t)))
 
 (defcustom cape-file-directory-must-exist t
   "The parent directory must exist for file completion."
@@ -1066,6 +1066,17 @@ If DONT-FOLD is non-nil return a case sensitive table 
instead."
 (`(,beg ,end ,table . ,plist)
  `(,beg ,end ,(cape--noninterruptible-table table) ,@plist
 
+;;;###autoload
+(defun cape-wrap-prefix-length (capf length)
+  "Call CAPF and ensure that prefix length is greater or equal than LENGTH.
+If the prefix is long enough, enforce auto completion."
+  (pcase (funcall capf)
+(`(,beg ,end ,table . ,plist)
+ (when (>= (- end beg) length)
+   `(,beg ,end ,table
+ :company-prefix-length t
+ ,@plist)
+
 ;;;###autoload
 (defun cape-wrap-purify (capf)
   "Call CAPF and ensure that it does not modify the buffer."
@@ -1102,6 +1113,7 @@ If DONT-FOLD is non-nil return a case sensitive table 
instead."
 (cape--capf-wrapper properties)
 (cape--capf-wrapper buster)
 (cape--capf-wrapper purify)
+(cape--capf-wrapper prefix-length)
 
 (provide 'cape)
 ;;; cape.el ends here



[elpa] externals/cape ee826d70fd: Add missing autoloads

2022-03-27 Thread ELPA Syncer
branch: externals/cape
commit ee826d70fdd2e8324a4af1a427ea9ce54f5e32e6
Author: Daniel Mendler 
Commit: Daniel Mendler 

Add missing autoloads
---
 cape.el | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/cape.el b/cape.el
index 29465800a7..85a8bf6c57 100644
--- a/cape.el
+++ b/cape.el
@@ -1100,20 +1100,22 @@ If the prefix is long enough, enforce auto completion."
   `(defun ,(intern (format "cape-capf-%s" wrapper)) (&rest args)
  (lambda () (apply #',(intern (format "cape-wrap-%s" wrapper)) args
 
-;;;###autoload (autoload 'cape-capf-noninterruptible "cape")
-;;;###autoload (autoload 'cape-capf-case-fold "cape")
-;;;###autoload (autoload 'cape-capf-silent "cape")
-;;;###autoload (autoload 'cape-capf-predicate "cape")
-;;;###autoload (autoload 'cape-capf-properties "cape")
 ;;;###autoload (autoload 'cape-capf-buster "cape")
-(cape--capf-wrapper noninterruptible)
+(cape--capf-wrapper buster)
+;;;###autoload (autoload 'cape-capf-case-fold "cape")
 (cape--capf-wrapper case-fold)
-(cape--capf-wrapper silent)
+;;;###autoload (autoload 'cape-capf-noninterruptible "cape")
+(cape--capf-wrapper noninterruptible)
+;;;###autoload (autoload 'cape-capf-predicate "cape")
 (cape--capf-wrapper predicate)
+;;;###autoload (autoload 'cape-capf-prefix-length "cape")
+(cape--capf-wrapper prefix-length)
+;;;###autoload (autoload 'cape-capf-properties "cape")
 (cape--capf-wrapper properties)
-(cape--capf-wrapper buster)
+;;;###autoload (autoload 'cape-capf-purify "cape")
 (cape--capf-wrapper purify)
-(cape--capf-wrapper prefix-length)
+;;;###autoload (autoload 'cape-capf-silent "cape")
+(cape--capf-wrapper silent)
 
 (provide 'cape)
 ;;; cape.el ends here



[elpa] externals/hyperbole 422cf12f3e 1/2: Fix multi-level hyrolo-add entry and add a test case

2022-03-27 Thread ELPA Syncer
branch: externals/hyperbole
commit 422cf12f3ef49ce1b248a9d171176e8aace741fb
Author: Bob Weiner 
Commit: Bob Weiner 

Fix multi-level hyrolo-add entry and add a test case
---
 ChangeLog|  6 +
 hyrolo.el| 65 ++--
 test/hyrolo-tests.el | 14 ++-
 3 files changed, 56 insertions(+), 29 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7ebf46475d..5feea8a5b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2022-03-26  Bob Weiner  
+
+* hyrolo.el (hyrolo-add): Fix both top-level and multi-level insertion.
+(hyrolo-entry-name-regexp): Add.
+  test/hyrolo-tests.el (hyrolo-add-items-at-multiple-levels): Add from Mats.
+
 2022-03-20  Bob Weiner  
 
 * HY-NEWS (New Tree Promotion/Demotion Keys):
diff --git a/hyrolo.el b/hyrolo.el
index 2fda1b9a2b..3869ce73a0 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 20-Mar-22 at 10:53:11 by Bob Weiner
+;; Last-Mod: 26-Mar-22 at 14:57:44 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -65,6 +65,9 @@ It must contain a %s indicating where to put the entry name 
and a second
   :type 'string
   :group 'hyperbole-rolo)
 
+(defvar hyrolo-entry-name-regexp "[-_a-zA-Z0-9@.]+\\( ?, ?[-_a-zA-Z0-9@.]+\\)?"
+  "*Regexp matching a hyrolo entry name after matching to 
`hyrolo-entry-regexp'.")
+
 (defcustom hyrolo-find-file-function #'find-file
   "*Function to interactively display a `hyrolo-file-list' file for editing.
 Use the `hyrolo-edit' function instead to edit a new or existing entry."
@@ -209,14 +212,16 @@ entry which begins with the parent string."
   (let ((parent "") (level "") end)
 (widen)
 (goto-char 1)
-(while (string-match "\\`[^\]\[<>{}\"]*/" name)
+;; If name includes slash level separator character, walk down
+;; existing matching tree of entries to find insertion point.
+(while (string-match "\\`[^\]\[/<>{}\"]*/" name)
   (setq end (1- (match-end 0))
parent (substring name 0 end)
name (substring name (min (1+ end) (length name
   (if (re-search-forward
-  (concat hyrolo-entry-regexp (regexp-quote parent)) nil t)
+  (concat hyrolo-entry-regexp (regexp-quote parent) "\\s-") nil t)
  (setq level (match-string-no-properties hyrolo-entry-group-number))
-   (error "(hyrolo-add): `%s' category not found in \"%s\""
+   (error "(hyrolo-add): Insertion failed, `%s' parent entry not found in 
\"%s\""
   parent file)))
 (narrow-to-region (point) (progn (hyrolo-to-entry-end t (length level)) 
(point)))
 (let* ((len (length name))
@@ -233,36 +238,40 @@ entry which begins with the parent string."
   ;; to that of `name'.
   (if (and (= level-len 1)
   (equal hyrolo-entry-regexp "^\\(\\*+\\)\\([ \t]+\\)"))
- (progn (goto-char (point-min))
-(if (re-search-forward (concat hyrolo-entry-regexp
-   (regexp-quote (char-to-string 
first-char)))
-   nil t)
-(goto-char (match-beginning 0))
-  (goto-char (point-max))
-  (if (and (> first-char ?0)
-   (re-search-backward
-(concat "^\\*[ \t]+["
-(substring
- 
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
- 0 (min (- first-char ?0) 62))
-"]")
-nil t))
-  (progn (goto-char (match-end 0))
- (hyrolo-to-entry-end t level-len)
- ;; Now at the insertion point, immediately after
- ;; the last existing entry whose first character
- ;; is less than that of `name'.  Setting `again'
- ;; to nil prevents further searching for an
- ;; insertion point.
- (setq again nil)
+ (let ((case-fold-search))
+   (goto-char (point-min))
+   (if (re-search-forward (concat hyrolo-entry-regexp
+  (regexp-quote (char-to-string 
first-char)))
+  nil t)
+   (goto-char (match-beginning 0))
+ (goto-char (point-max))
+ (if (and (> first-char ?0)
+  (re-search-backward
+   (concat "^\\*[ \t]+["
+   (substring
+
"0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz"
+0 (min (- 

[elpa] externals/hyperbole 1907156d82 2/2: Merge branch 'master' of hyperbole

2022-03-27 Thread ELPA Syncer
branch: externals/hyperbole
commit 1907156d828ddf01c1fa5d6d39387e432ca60361
Merge: 422cf12f3e e9ed3706b5
Author: Bob Weiner 
Commit: Bob Weiner 

Merge branch 'master' of hyperbole
---
 ChangeLog | 6 ++
 test/hib-kbd-tests.el | 7 ++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 5feea8a5b4..35cc1f054e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,15 @@
+<<< HEAD
 2022-03-26  Bob Weiner  
 
 * hyrolo.el (hyrolo-add): Fix both top-level and multi-level insertion.
 (hyrolo-entry-name-regexp): Add.
   test/hyrolo-tests.el (hyrolo-add-items-at-multiple-levels): Add from Mats.
 
+2022-03-26  Mats Lidell  
+
+* test/hib-kbd-tests.el (kbd-key-hy-demo-factorial-test): Preload DEMO
+file to avoid race with *ert* display.
+
 2022-03-20  Bob Weiner  
 
 * HY-NEWS (New Tree Promotion/Demotion Keys):
diff --git a/test/hib-kbd-tests.el b/test/hib-kbd-tests.el
index 291181afac..bca9e0d56f 100644
--- a/test/hib-kbd-tests.el
+++ b/test/hib-kbd-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:30-Jan-21 at 12:00:00
-;; Last-Mod:  6-Feb-22 at 00:55:55 by Bob Weiner
+;; Last-Mod: 26-Mar-22 at 11:25:43 by Mats Lidell
 ;;
 ;; Copyright (C) 2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -36,6 +36,11 @@
   (skip-unless (not noninteractive))
   (unwind-protect
   (progn
+;; Preload DEMO file to avoid race with *ert* buffer and set
+;; *ert* buffer current
+(hypb:display-file-with-logo "DEMO")
+(set-buffer "*ert*")
+
 (should (hact 'kbd-key "C-u C-h h d d"))
 (hy-test-helpers:consume-input-events)
 (should (string= (buffer-name (current-buffer)) "DEMO" ))



[elpa] externals/eglot 7a0b93a76d: Close #900: Map more Emacs variables to LSP FormattingOptions fields

2022-03-27 Thread ELPA Syncer
branch: externals/eglot
commit 7a0b93a76d1c53811a1670eb8f8091e3536aa248
Author: Felicián Németh 
Commit: GitHub 

Close #900: Map more Emacs variables to LSP FormattingOptions fields

* eglot.el (eglot-format): Map require-final-newline to
insertFinalNewline and delete-trailing-lines to trimFinalNewlines.
---
 eglot.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/eglot.el b/eglot.el
index 1c16240890..58ad4588ae 100644
--- a/eglot.el
+++ b/eglot.el
@@ -2381,7 +2381,9 @@ is not active."
   (cl-list*
:textDocument (eglot--TextDocumentIdentifier)
:options (list :tabSize tab-width
-  :insertSpaces (if indent-tabs-mode :json-false t))
+  :insertSpaces (if indent-tabs-mode :json-false t)
+  :insertFinalNewline (if require-final-newline t 
:json-false)
+  :trimFinalNewlines (if delete-trailing-lines t 
:json-false))
args)
   :deferred method
 



[nongnu] elpa/geiser 9507e81a07: Shorten docstring that is over 80 characters wide

2022-03-27 Thread ELPA Syncer
branch: elpa/geiser
commit 9507e81a075351d090fd1f4f708efd05d6470cba
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Shorten docstring that is over 80 characters wide

The byte-compiler complained about it.
---
 elisp/geiser-connection.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elisp/geiser-connection.el b/elisp/geiser-connection.el
index b269727d6b..c1d5712d2b 100644
--- a/elisp/geiser-connection.el
+++ b/elisp/geiser-connection.el
@@ -261,7 +261,7 @@
   (interrupt-process proc
 
 (defun geiser-con--wait (req timeout)
-  "Wait for the given request REQ to finish, up to TIMEOUT msecs, returning 
its result."
+  "Wait up to TIMEOUT msecs for request REQ to finish, returning its result."
   (let* ((con (or (geiser-con--request-connection req)
   (error "Geiser connection not active")))
  (proc (geiser-con--connection-process con))



[elpa] externals/company 073aef72dd: Add a wrapper for the wrapper, to handle misbehaving capfs

2022-03-27 Thread ELPA Syncer
branch: externals/company
commit 073aef72ddf93f897a856c246c58dcdfe003674e
Author: Dmitry Gutov 
Commit: Dmitry Gutov 

Add a wrapper for the wrapper, to handle misbehaving capfs

See https://github.com/company-mode/company-mode/discussions/1278.

Fixes #409 and fixes #974.
---
 company-capf.el | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/company-capf.el b/company-capf.el
index 6c8dcc78a5..84b79de679 100644
--- a/company-capf.el
+++ b/company-capf.el
@@ -67,9 +67,21 @@ so we can't just use the preceding variable instead.")
  (completion-at-point-functions (company--capf-workaround))
  (data (run-hook-wrapped 'completion-at-point-functions
  ;; Ignore misbehaving functions.
- #'completion--capf-wrapper 'optimist)))
+ #'company--capf-wrapper 'optimist)))
 (when (and (consp (cdr data)) (integer-or-marker-p (nth 1 data))) data)))
 
+(defun company--capf-wrapper (fun which)
+  (let ((buffer-read-only t)
+(inhibit-read-only nil)
+(completion-in-region-function
+ (lambda (beg end coll pred)
+   (throw 'company--illegal-completion-in-region
+  (list fun beg end coll :predicate pred)
+(catch 'company--illegal-completion-in-region
+  (condition-case nil
+  (completion--capf-wrapper fun which)
+(buffer-read-only nil)
+
 (declare-function python-shell-get-process "python")
 
 (defun company--capf-workaround ()



[nongnu] elpa/parseclj b04eae6738 2/2: Merge pull request #39 from ikappaki/issue/symbol-pipe-char

2022-03-27 Thread ELPA Syncer
branch: elpa/parseclj
commit b04eae67384c1d8181edf318fd62d422a8220724
Merge: f32c041f2b bd11cf4a42
Author: Arne Brasseur 
Commit: GitHub 

Merge pull request #39 from ikappaki/issue/symbol-pipe-char

add `|` to the list of valid symbol chars
---
 parseclj-lex.el   | 16 +++-
 test/parseclj-lex-test.el |  7 ++-
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/parseclj-lex.el b/parseclj-lex.el
index 42145b12e4..0dfab226db 100644
--- a/parseclj-lex.el
+++ b/parseclj-lex.el
@@ -29,6 +29,20 @@
 
 (require 'parseclj-alist)
 
+(defcustom parseclj-lex-symbol-special-chars
+  '(?. ?* ?+ ?! ?- ?_ ?? ?$ ?% ?& ?= ?< ?> ?/ ?')
+  "The list of characters that can consitute a symbol or keyword's name.
+
+Please note that Clojure might at runtime accept keywords with
+more constituent characters than those found in the default value
+of this variable (which is the officially supported list), but
+the end result should be treated as undefined.  This could be the
+case for example when keywordized maps are created from external
+sources without keyword validation.  Change this value at your
+own risk."
+  :type 'sexp
+  :group 'parseclj)
+
 (defvar parseclj-lex--leaf-tokens '(:whitespace
 :comment
 :symbolic-value
@@ -303,7 +317,7 @@ alphabetic characters only.  ALPHA-ONLY ensures this 
behavior."
   (not (not (and char
  (or (and (<= ?a char) (<= char ?z))
  (and (<= ?A char) (<= char ?Z))
- (and (not alpha-only) (member char '(?. ?* ?+ ?! ?- ?_ ?? 
?$ ?% ?& ?= ?< ?> ?/ ?'
+ (and (not alpha-only) (member char 
parseclj-lex-symbol-special-chars)))
 
 (defun parseclj-lex-symbol-rest-p (char)
   "Return t if CHAR is a valid character in a symbol.
diff --git a/test/parseclj-lex-test.el b/test/parseclj-lex-test.el
index dbf71c3003..63a910defd 100644
--- a/test/parseclj-lex-test.el
+++ b/test/parseclj-lex-test.el
@@ -309,7 +309,12 @@
   (should (equal (parseclj-lex-symbol-rest-p ?A) t))
   (should (equal (parseclj-lex-symbol-rest-p ?.) t))
   (should (equal (parseclj-lex-symbol-rest-p ?~) nil))
-  (should (equal (parseclj-lex-symbol-rest-p ? ) nil)))
+  (should (equal (parseclj-lex-symbol-rest-p ? ) nil))
+
+  (should (equal (parseclj-lex-symbol-rest-p ?|) nil))
+  (let ((parseclj-lex-symbol-special-chars (cons  ?| 
parseclj-lex-symbol-special-chars)))
+(should (equal (parseclj-lex-symbol-rest-p ?|) t)))
+  (should (equal (parseclj-lex-symbol-rest-p ?|) nil)))
 
 (ert-deftest parseclj-lex-test-get-symbol-at-point ()
   (with-temp-buffer



[nongnu] elpa/parseclj bd11cf4a42 1/2: Make list of symbol/keyword constituent characters a custom option

2022-03-27 Thread ELPA Syncer
branch: elpa/parseclj
commit bd11cf4a42abbe718a017d1cb4256172d38b7415
Author: ikappaki 
Commit: ikappaki 

Make list of symbol/keyword constituent characters a custom option
---
 parseclj-lex.el   | 16 +++-
 test/parseclj-lex-test.el |  7 ++-
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/parseclj-lex.el b/parseclj-lex.el
index 42145b12e4..0dfab226db 100644
--- a/parseclj-lex.el
+++ b/parseclj-lex.el
@@ -29,6 +29,20 @@
 
 (require 'parseclj-alist)
 
+(defcustom parseclj-lex-symbol-special-chars
+  '(?. ?* ?+ ?! ?- ?_ ?? ?$ ?% ?& ?= ?< ?> ?/ ?')
+  "The list of characters that can consitute a symbol or keyword's name.
+
+Please note that Clojure might at runtime accept keywords with
+more constituent characters than those found in the default value
+of this variable (which is the officially supported list), but
+the end result should be treated as undefined.  This could be the
+case for example when keywordized maps are created from external
+sources without keyword validation.  Change this value at your
+own risk."
+  :type 'sexp
+  :group 'parseclj)
+
 (defvar parseclj-lex--leaf-tokens '(:whitespace
 :comment
 :symbolic-value
@@ -303,7 +317,7 @@ alphabetic characters only.  ALPHA-ONLY ensures this 
behavior."
   (not (not (and char
  (or (and (<= ?a char) (<= char ?z))
  (and (<= ?A char) (<= char ?Z))
- (and (not alpha-only) (member char '(?. ?* ?+ ?! ?- ?_ ?? 
?$ ?% ?& ?= ?< ?> ?/ ?'
+ (and (not alpha-only) (member char 
parseclj-lex-symbol-special-chars)))
 
 (defun parseclj-lex-symbol-rest-p (char)
   "Return t if CHAR is a valid character in a symbol.
diff --git a/test/parseclj-lex-test.el b/test/parseclj-lex-test.el
index dbf71c3003..63a910defd 100644
--- a/test/parseclj-lex-test.el
+++ b/test/parseclj-lex-test.el
@@ -309,7 +309,12 @@
   (should (equal (parseclj-lex-symbol-rest-p ?A) t))
   (should (equal (parseclj-lex-symbol-rest-p ?.) t))
   (should (equal (parseclj-lex-symbol-rest-p ?~) nil))
-  (should (equal (parseclj-lex-symbol-rest-p ? ) nil)))
+  (should (equal (parseclj-lex-symbol-rest-p ? ) nil))
+
+  (should (equal (parseclj-lex-symbol-rest-p ?|) nil))
+  (let ((parseclj-lex-symbol-special-chars (cons  ?| 
parseclj-lex-symbol-special-chars)))
+(should (equal (parseclj-lex-symbol-rest-p ?|) t)))
+  (should (equal (parseclj-lex-symbol-rest-p ?|) nil)))
 
 (ert-deftest parseclj-lex-test-get-symbol-at-point ()
   (with-temp-buffer