]> git.eshelyaron.com Git - emacs.git/commitdiff
; Fix handling of 'not' by 'buffer-match-p'
authorPhilip Kaludercic <philipk@posteo.net>
Sat, 31 Dec 2022 14:04:18 +0000 (15:04 +0100)
committerPhilip Kaludercic <philipk@posteo.net>
Sat, 31 Dec 2022 14:05:56 +0000 (15:05 +0100)
* lisp/subr.el (buffer-match-p): Look up the cadr instead of the cdr
for the negation in 'not'.
* doc/lispref/buffers.texi (Buffer List): Update documentation.
(Bug#58951)

doc/lispref/buffers.texi
lisp/subr.el

index c40e088293e2a3e1e8fa6616567c7bc3021e1804..57d627a420970a720f95922cd1f66cf5d49bca4f 100644 (file)
@@ -977,17 +977,15 @@ first argument is @var{buffer-or-name} and the second is @var{arg}
 A cons-cell @code{(@var{oper} . @var{expr})} where @var{oper} is one
 of
 @table @code
-@item not
-Satisfied if @var{expr} doesn't satisfy @code{buffer-match-p} with
+@item (not @var{cond})
+Satisfied if @var{cond} doesn't satisfy @code{buffer-match-p} with
 the same buffer and @code{arg}.
-@item or
-Satisfied if @var{expr} is a list and @emph{any} condition in
-@var{expr} satisfies @code{buffer-match-p}, with the same buffer and
-@code{arg}.
-@item and
-Satisfied if @var{expr} is a list and @emph{all} conditions in
-@var{expr} satisfy @code{buffer-match-p}, with the same buffer and
-@code{arg}.
+@item (or @var{conds}@dots{})
+Satisfied if @emph{any} condition in @var{conds} satisfies
+@code{buffer-match-p}, with the same buffer and @code{arg}.
+@item (and @var{conds}@dots{})
+Satisfied if @emph{all} the conditions in @var{conds} satisfy
+@code{buffer-match-p}, with the same buffer and @code{arg}.
 @item derived-mode
 Satisfied if the buffer's major mode derives from @var{expr}.
 @item major-mode
index 2fcdc7addf12a27e10df3f50dcc66c8d21bc1ae4..af0a208f7be4407104014c9a52c0c446b3cfaeac 100644 (file)
@@ -7046,7 +7046,7 @@ CONDITION is either:
   * `major-mode': the buffer matches if the buffer's major mode
     is eq to the cons-cell's cdr.  Prefer using `derived-mode'
     instead when both can work.
-  * `not': the cdr is interpreted as a negation of a condition.
+  * `not': the cadr is interpreted as a negation of a condition.
   * `and': the cdr is a list of recursive conditions, that all have
     to be met.
   * `or': the cdr is a list of recursive condition, of which at
@@ -7073,7 +7073,7 @@ CONDITION is either:
                        (provided-mode-derived-p
                         (buffer-local-value 'major-mode buffer)
                         mode))
-                      (`(not ,cond)
+                      (`(not ,cond)
                        (not (funcall match cond)))
                       (`(or . ,args)
                        (funcall match args))