Skip to content

tablist-edit-filter error on Emacs 27.0.90 #17

@gonewest818

Description

@gonewest818

Using tablist on Emacs 27.0.90 on a Macintosh, I'm finding if I try to edit a filter in a tablist (/ e) an error occurs:

replace-regexp-in-string: Wrong type argument: arrayp, nil

and I've traced the source of that error to tablist-filter-parser-init which calls, effectively

(wisent-compile-grammar tablist-filter-wisent-grammar)

If you open Emacs 27.0.90 and evaluate the following in *scratch* you should be able to reproduce the error:

(require 'semantic/wisent/comp)
(require 'semantic/wisent/wisent)

(defvar tablist-filter-wisent-grammar
  '(
    ;; terminals
    ;; Use lowercase for better looking error messages.
    (operand unary-operator binary-operator or and not)

    ;; terminal associativity & precedence
    ((left binary-operator)
     (left unary-operator)
     (left or)
     (left and)
     (left not))

    ;; rules
    (filter-or-empty
     ((nil))
     ((?\( ?\)) nil)
     ((filter) $1))
    (filter
     ((operand) $1) ;;Named filter
     ((operand binary-operator operand) `(,(intern $2) ,$1 ,$3))
     ((unary-operator operand) `(,(intern $1) ,$2))
     ((not filter) `(not ,$2))
     ((filter and filter) `(and ,$1 ,$3))
     ((filter or filter) `(or ,$1 ,$3))
     ((?\( filter ?\)) $2))))

(wisent-compile-grammar tablist-filter-wisent-grammar)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions