aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorStefan Monnier2024-02-11 22:00:44 -0500
committerStefan Monnier2024-02-11 22:00:44 -0500
commit806759dc0a6a3b049ce35d0497011464e5fc4dcb (patch)
treeaacc32511cd747ec859e7d83e3c3247aab87d874 /src/bytecode.c
parent9ebc91795f22ca52ea019b8ce7fb1f6e4c8df826 (diff)
downloademacs-806759dc0a6a3b049ce35d0497011464e5fc4dcb.tar.gz
emacs-806759dc0a6a3b049ce35d0497011464e5fc4dcb.zip
(pcase): New `_` syntax in pred/app functions
The current syntax for functions in `app` and `pred` patterns allows a shorthand (F ARGS) where the object being matched is added as an extra last argument. This is nice for things like (pred (< 5)) but sometimes the object needs to be at another position. Until now you had to use (pred (lambda (x) (memq x my-list))) or (pred (pcase--flip memq my-list)) in those cases. So, introduce a new shorthand where `_` can be used to indicate where the object should be passed: (pred (memq _ my-list)) * lisp/emacs-lisp/pcase.el (pcase--split-pred): Document new syntax for pred/app functions. (pcase--funcall): Support new syntax. (pcase--flip): Declare obsolete. (pcase--u1, \`): Use `_` instead. (pcase--split-pred): Adjust accordingly. * doc/lispref/control.texi (pcase Macro): Document new syntax for pred/app functions. * lisp/progmodes/opascal.el (pcase-defmacro): * lisp/emacs-lisp/seq.el (seq--make-pcase-bindings): * lisp/emacs-lisp/eieio.el (eieio): * lisp/emacs-lisp/cl-macs.el (cl-struct, cl-type): Use _ instead of `pcase--flip`. (cl--pcase-mutually-exclusive-p): Adjust accordingly. * lisp/emacs-lisp/map.el (map--pcase-map-elt): Declare obsolete. (map--make-pcase-bindings): Use `_` instead.
Diffstat (limited to 'src/bytecode.c')
0 files changed, 0 insertions, 0 deletions