oantolin / orderless

Emacs completion style that matches multiple regexps in any order

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Debugger entered--Lisp error: (error "rx `not' syntax error: 101")

netjune opened this issue · comments

I just changed the value of orderless-matching-styles . Then I met this error.

Current setting for orderless:

(setq orderless-matching-styles '(orderless-prefixes
                                  orderless-flex))

(setq completion-styles '(orderless basic))

(if t
    (setq completion-category-overrides nil
          completion-category-defaults nil)
  (setq completion-category-overrides
        '((file (styles basic partial-completion)))))

Content in backtrace buffer:

Debugger entered--Lisp error: (error "rx `not' syntax error: 101")
  signal(error ("rx `not' syntax error: 101"))
  error("rx `not' syntax error: %s" 101)
  rx-check-not(101)
  rx-check((not 101))
  rx-not((not 101))
  rx-form((not 101) *)
  rx-kleene((zero-or-more (not 101)))
  rx-form((zero-or-more (not 101)) :)
  #f(compiled-function (x) #<bytecode 0x1362f6d>)((zero-or-more (not 101)))
  mapconcat(#f(compiled-function (x) #<bytecode 0x1362f6d>) ((group 114) (zero-or-more (not 101)) (group 101) (zero-or-more (not 97)) (group 97) (zero-or-more (not 100)) (group$
  rx-and((seq (group 114) (zero-or-more (not 101)) (group 101) (zero-or-more (not 97)) (group 97) (zero-or-more (not 100)) (group 100) (zero-or-more (not 102)) (group 102)))
  rx-form((seq (group 114) (zero-or-more (not 101)) (group 101) (zero-or-more (not 97)) (group 97) (zero-or-more (not 100)) (group 100) (zero-or-more (not 102)) (group 102)))
  rx-to-string((seq (group 114) (zero-or-more (not 101)) (group 101) (zero-or-more (not 97)) (group 97) (zero-or-more (not 100)) (group 100) (zero-or-more (not 102)) (group 102$
  orderless-flex("readf")
  funcall(orderless-flex "readf")
  (setq result (funcall style newcomp))
  (while (consp --cl-var--) (setq style (car --cl-var--)) (setq result (funcall style newcomp)) (if result (progn (setq --cl-var-- (cons (list (quote regexp) result) --cl-var--$
  (let* ((--cl-var-- newstyles) (style nil) (result nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq style (car --cl-var--)) (setq result (funcall style newcomp)) (if res$
  (setq regexps (let* ((--cl-var-- newstyles) (style nil) (result nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq style (car --cl-var--)) (setq result (funcall style new$
  (while (consp --cl-var--) (progn (setq component (car --cl-var--)) nil) (setq newcomp (orderless-dispatch dispatchers styles component index total) newstyles (car-safe (prog1$
  (let* ((newcomp nil) (newstyles nil) (regexps nil) (--cl-var-- nil)) (while (consp --cl-var--) (progn (setq component (car --cl-var--)) nil) (setq newcomp (orderless-dispatch$
  (let ((--cl-var-- components) (component nil) (index 0)) (let* ((newcomp nil) (newstyles nil) (regexps nil) (--cl-var-- nil)) (while (consp --cl-var--) (progn (setq component$
  (let* ((components (if (functionp orderless-component-separator) (funcall orderless-component-separator pattern) (split-string pattern orderless-component-separator t))) (tot$
  orderless-pattern-compiler("readf")
  (let* ((completion-regexp-list (orderless-pattern-compiler pattern)) (completion-ignore-case (if orderless-smart-case (let* ((--cl-var-- completion-regexp-list) (regexp nil) $
  (let ((pattern x2247) (prefix x2246)) (let* ((completion-regexp-list (orderless-pattern-compiler pattern)) (completion-ignore-case (if orderless-smart-case (let* ((--cl-var--$
  (let* ((val (orderless--prefix+pattern string table pred)) (x2246 (car val)) (x2247 (cdr val))) (let ((pattern x2247) (prefix x2246)) (let* ((completion-regexp-list (orderles$
  (progn (let* ((val (orderless--prefix+pattern string table pred)) (x2246 (car val)) (x2247 (cdr val))) (let ((pattern x2247) (prefix x2246)) (let* ((completion-regexp-list (o$
  (unwind-protect (progn (let* ((val (orderless--prefix+pattern string table pred)) (x2246 (car val)) (x2247 (cdr val))) (let ((pattern x2247) (prefix x2246)) (let* ((completio$
  (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let* ((val (orderless--prefix+pattern string table pred)) (x2246 (car val)) (x2247 (cdr val))) (let ((p$
  orderless-filter("readf" help--symbol-completion-table #f(compiled-function (f) #<bytecode 0x15955e5>))
  (let ((completions (orderless-filter string table pred))) (if completions (progn (let ((x0 (orderless--prefix+pattern string table pred)) (skip-highlighting (if (functionp or$
  orderless-all-completions("readf" help--symbol-completion-table #f(compiled-function (f) #<bytecode 0x15955e5>) 5)
  #f(compiled-function (style) #<bytecode 0x1775825>)(orderless)
  completion--some(#f(compiled-function (style) #<bytecode 0x1775825>) (orderless basic))
  completion--nth-completion(2 "readf" help--symbol-completion-table #f(compiled-function (f) #<bytecode 0x15955e5>) 5 (metadata))
  completion-all-completions("readf" help--symbol-completion-table #f(compiled-function (f) #<bytecode 0x15955e5>) 5 (metadata))
  completion-all-sorted-completions(20 25)
  icomplete-completions("readf" help--symbol-completion-table #f(compiled-function (f) #<bytecode 0x15955e5>) t)
  icomplete-exhibit()
  icomplete-post-command-hook()
  read-from-minibuffer("Describe function: " nil (keymap (7 . minibuffer-keyboard-quit) (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (7 . mini$
  completing-read-default("Describe function: " help--symbol-completion-table #f(compiled-function (f) #<bytecode 0x15955e5>) t nil nil nil nil)
  completing-read("Describe function: " help--symbol-completion-table #f(compiled-function (f) #<bytecode 0x15955e5>) t nil nil nil)
  byte-code("\301 \302\030\303\001\203\020\0\304\305\003\"\202\021\0\306\307\310\302\311\211\006\007\205\037\0\312\006\010!&\007\211\313\232\204,\0\314\001!\262\002\001\2035\0\$

Emacs: 26.3

Emacs: 26.3

@netjune Maybe your Emacs is too old. Do you have a possibility to upgrade? @oantolin Orderless specifies 26.1 as dependency. Maybe this should be 27.1 instead?

It can be reproduced in 26.3. I tried in 29.1 with no problem so far.

It sounds like rx in Emacs 26.3 didn't support all of the same syntax as it does now. I don't really know what to do about this. I think maybe just not attempt to fix this and bump the requirement to Emacs 27.1, as @minad says. I did use Orderless with Emacs 27.1, so I believe that should work.

It is ok for me. Closed.

Thanks.