• Mattias Engdegård's avatar
    Add conditional operator xor to subr.el · c676444a
    Mattias Engdegård authored
    Suggested by Oleh Krehel and implemented by Basil Contovounesios in
    the following thread:
    https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00547.html
    
    * lisp/array.el (xor): Move unused function from here...
    * lisp/subr.el: ...to here, and improve.
    * lisp/gnus/spam.el (spam-xor):
    * lisp/play/5x5.el (5x5-xor):
    * lisp/proced.el (proced-xor):
    * lisp/progmodes/idlwave.el (idlwave-xor):
    * lisp/vc/diff-mode.el (diff-xor): Define as obsolete aliases of,
    and replace all uses with, xor.
    * lisp/jsonrpc.el: Remove unused dependency on array.el.
    * lisp/org/org.el (org-xor): Move from here...
    * lisp/org/org-compat.el (org-xor): ...to here, as a compatibility
    shim for xor.
    * lisp/progmodes/idlw-shell.el (idlwave-shell-enable-all-bp):
    * lisp/simple.el (exchange-point-and-mark):
    * lisp/windmove.el (windmove-display-in-direction): Use xor.
    * lisp/strokes.el (strokes-xor): Remove commented-out xor
    implementation.
    
    * doc/lispref/control.texi (Control Structures): Extend menu entry
    for new combining condition.
    (Combining Conditions):
    * etc/NEWS (Lisp Changes): Document xor.
    
    * test/lisp/subr-tests.el (subr-test-xor): New test.
    c676444a
array.el 33.5 KB