Also remove "WARNING" annotations after confirming that he code was right.
---
*** 'form' in '(eql form)' specializers in 'cl-defmethod' is now evaluated.
This corresponds to the behaviour of defmethod in Common Lisp Object System.
-A warning is issued when old style is used.
+For compatibility, '(eql SYMBOL)' does not evaluate SYMBOL, for now.
** New minor mode 'cl-font-lock-built-in-mode' for 'lisp-mode'.
The mode provides refined highlighting of built-in functions, types,
(let ((form (cadr specializer)))
(puthash (if (or (not (symbolp form)) (macroexp-const-p form))
(eval form t)
- (message "Quoting obsolete `eql' form: %S" specializer)
+ ;; FIXME: Compatibility with Emacs<28. For now emitting
+ ;; a warning would be annoying for third party packages
+ ;; which can't use the new form without breaking compatibility
+ ;; with older Emacsen, but in the future we should emit
+ ;; a warning.
+ ;; (message "Quoting obsolete `eql' form: %S" specializer)
form)
specializer cl--generic-eql-used))
(list cl--generic-eql-generalizer))
(cl-generic-define-context-rewriter major-mode (mode &rest modes)
`(major-mode ,(if (consp mode)
;;E.g. could be (eql ...)
- ;; WARNING: unsure whether this
- ;; “could be (eql ...)” commentary (or code)
- ;; should be adjusted
- ;; following the (planned) changes to eql specializer.
- ;; Bug #47327
(progn (cl-assert (null modes)) mode)
`(derived-mode ,mode . ,modes))))
(cl-generic-define-context-rewriter window-system (value)
;; If `value' is a `consp', it's probably an old-style specializer,
;; so just use it, and anyway `eql' isn't very useful on cons cells.
- `(window-system ,(if (consp value) value
- ;; WARNING: unsure whether this eql expression
- ;; is actually an eql specializer.
- ;; Bug #47327
- `(eql ',value))))
+ `(window-system ,(if (consp value) value `(eql ',value))))
(cl-defmethod frame-creation-function (params &context (window-system nil))
;; It's tempting to get rid of tty-create-frame-with-faces and turn it into