aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Kangas2022-02-10 06:56:22 +0100
committerStefan Kangas2022-02-10 06:56:22 +0100
commit35bf8d4a025baa8da2affa3cff5a0f426889096f (patch)
tree5c84b2bd73e8602e21ddbca39d4417f66e1e11a8
parentaad91285c370dd5e50e585b453b9a843113be15f (diff)
parent69e82968d7c2b64710f6f6b79597ac98c82449e7 (diff)
downloademacs-35bf8d4a025baa8da2affa3cff5a0f426889096f.tar.gz
emacs-35bf8d4a025baa8da2affa3cff5a0f426889096f.zip
Merge from origin/emacs-28
69e82968d7 Fix integer arithmetic miss-compilation (bug#53451) 31af9bca99 Mark flymake as compatible with emacs-26.1
-rw-r--r--lisp/emacs-lisp/comp-cstr.el26
-rw-r--r--lisp/progmodes/flymake.el4
-rw-r--r--test/src/comp-tests.el9
3 files changed, 24 insertions, 15 deletions
diff --git a/lisp/emacs-lisp/comp-cstr.el b/lisp/emacs-lisp/comp-cstr.el
index ad956dabd8a..9eaf38067f6 100644
--- a/lisp/emacs-lisp/comp-cstr.el
+++ b/lisp/emacs-lisp/comp-cstr.el
@@ -454,18 +454,20 @@ Return them as multiple value."
454 (declare (debug (range-body)) 454 (declare (debug (range-body))
455 (indent defun)) 455 (indent defun))
456 `(with-comp-cstr-accessors 456 `(with-comp-cstr-accessors
457 (when-let ((r1 (range ,src1)) 457 (if (or (neg src1) (neg src2))
458 (r2 (range ,src2))) 458 (setf (typeset ,dst) '(number))
459 (let* ((l1 (comp-cstr-smallest-in-range r1)) 459 (when-let ((r1 (range ,src1))
460 (l2 (comp-cstr-smallest-in-range r2)) 460 (r2 (range ,src2)))
461 (h1 (comp-cstr-greatest-in-range r1)) 461 (let* ((l1 (comp-cstr-smallest-in-range r1))
462 (h2 (comp-cstr-greatest-in-range r2))) 462 (l2 (comp-cstr-smallest-in-range r2))
463 (setf (typeset ,dst) (when (cl-some (lambda (x) 463 (h1 (comp-cstr-greatest-in-range r1))
464 (comp-subtype-p 'float x)) 464 (h2 (comp-cstr-greatest-in-range r2)))
465 (append (typeset src1) 465 (setf (typeset ,dst) (when (cl-some (lambda (x)
466 (typeset src2))) 466 (comp-subtype-p 'float x))
467 '(float)) 467 (append (typeset src1)
468 (range ,dst) ,@range-body))))) 468 (typeset src2)))
469 '(float))
470 (range ,dst) ,@range-body))))))
469 471
470(defun comp-cstr-add-2 (dst src1 src2) 472(defun comp-cstr-add-2 (dst src1 src2)
471 "Sum SRC1 and SRC2 into DST." 473 "Sum SRC1 and SRC2 into DST."
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index e369cb1f21e..83d7bc8641c 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -4,9 +4,9 @@
4 4
5;; Author: Pavel Kobyakov <pk_at_work@yahoo.com> 5;; Author: Pavel Kobyakov <pk_at_work@yahoo.com>
6;; Maintainer: João Távora <joaotavora@gmail.com> 6;; Maintainer: João Távora <joaotavora@gmail.com>
7;; Version: 1.2.1 7;; Version: 1.2.2
8;; Keywords: c languages tools 8;; Keywords: c languages tools
9;; Package-Requires: ((emacs "28.1") (eldoc "1.1.0") (project "0.7.1")) 9;; Package-Requires: ((emacs "26.1") (eldoc "1.1.0") (project "0.7.1"))
10 10
11;; This is a GNU ELPA :core package. Avoid functionality that is not 11;; This is a GNU ELPA :core package. Avoid functionality that is not
12;; compatible with the version of Emacs recorded above. 12;; compatible with the version of Emacs recorded above.
diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el
index 89cb3d153d8..212d9e999f2 100644
--- a/test/src/comp-tests.el
+++ b/test/src/comp-tests.el
@@ -1369,7 +1369,14 @@ Return a list of results."
1369 (when (eql x 1.0) 1369 (when (eql x 1.0)
1370 (error "")) 1370 (error ""))
1371 x) 1371 x)
1372 t))) 1372 t)
1373
1374 ;; 74
1375 ((defun comp-tests-ret-type-spec-f (x)
1376 (if (eq x 0)
1377 (error "")
1378 (1+ x)))
1379 number)))
1373 1380
1374 (defun comp-tests-define-type-spec-test (number x) 1381 (defun comp-tests-define-type-spec-test (number x)
1375 `(comp-deftest ,(intern (format "ret-type-spec-%d" number)) () 1382 `(comp-deftest ,(intern (format "ret-type-spec-%d" number)) ()