Subject: bug#17877: 24.3.92; Errors from cua-rectangle-mark-mode

From: Glenn Morris <[email-masked]>
Date: Sun, 29 Jun 2014 19:38:29 -0400

penthief wrote:

> cua--activate-rectangle: Wrong type argument: arrayp, nil

With almost no testing, this seems to fix it:

*** lisp/emulation/cua-rect.el	2014-01-01 07:43:34 +0000
--- lisp/emulation/cua-rect.el	2014-06-29 23:36:26 +0000
***************
*** 726,735 ****
    ;; Set cua--rectangle to indicate we're marking a rectangle.
    ;; Be careful if we are already marking a rectangle.
    (setq cua--rectangle
!         (if (and cua--last-rectangle
                   (eq (car cua--last-rectangle) (current-buffer))
!                  (eq (car (cdr cua--last-rectangle)) (point)))
!             (cdr (cdr cua--last-rectangle))
            (cua--rectangle-get-corners))
          cua--status-string (if (cua--rectangle-virtual-edges) " [R]" "")
          cua--last-rectangle nil)
--- 726,735 ----
    ;; Set cua--rectangle to indicate we're marking a rectangle.
    ;; Be careful if we are already marking a rectangle.
    (setq cua--rectangle
!         (or (and cua--last-rectangle
                   (eq (car cua--last-rectangle) (current-buffer))
!                  (eq (car (cdr cua--last-rectangle)) (point))
!                  (cdr (cdr cua--last-rectangle)))
              (cua--rectangle-get-corners))
          cua--status-string (if (cua--rectangle-virtual-edges) " [R]" "")
          cua--last-rectangle nil)