From f8c3d3824df01d70653ffc29ea54d520f7d85b68 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 1 Jun 2023 08:47:18 +0200 Subject: [PATCH 1/4] ; * test/infra/gitlab-ci.yml (variables): Enable CI_DEBUG_TRACE. --- test/infra/gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml index b5b3e6823c7..213176bef70 100644 --- a/test/infra/gitlab-ci.yml +++ b/test/infra/gitlab-ci.yml @@ -58,7 +58,7 @@ variables: # across multiple builds. BUILD_TAG: ${CI_COMMIT_REF_SLUG} # Disable if you don't need it, it can be a security risk. - # CI_DEBUG_TRACE: "true" + CI_DEBUG_TRACE: "true" default: image: docker:19.03.12 From dacc535a80ef284020ca9b0abc7b1c2f3d544d29 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Thu, 1 Jun 2023 11:02:01 +0200 Subject: [PATCH 2/4] * lisp/emacs-lisp/comp.el (comp-jump-table-optimizable): Refactor. --- lisp/emacs-lisp/comp.el | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index ec51f805c2b..b2704ae1446 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -1723,17 +1723,11 @@ Return value is the fall-through block name." ;; (byte-constant #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (created 126 deleted 126 changed 126)) . 24) ;; (byte-switch) ;; (TAG 126 . 10) - (cl-loop - with labels = (cl-loop for target-label being each hash-value of jmp-table - collect target-label) - with x = (car labels) - for l in (cdr-safe labels) - unless (= l x) - return nil - finally return (pcase (nth (1+ (comp-limplify-pc comp-pass)) - (comp-func-lap comp-func)) - (`(TAG ,label . ,_label-sp) - (= label l))))) + (let ((targets (hash-table-values jmp-table))) + (when (apply #'= targets) + (pcase (nth (1+ (comp-limplify-pc comp-pass)) (comp-func-lap comp-func)) + (`(TAG ,target . ,_label-sp) + (= target (car targets))))))) (defun comp-emit-switch (var last-insn) "Emit a Limple for a lap jump table given VAR and LAST-INSN." From 2d6ba3e034ca150d258389624b63a1c227334e81 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 1 Jun 2023 15:57:43 +0200 Subject: [PATCH 3/4] Adapt tree-sitter tests on emba * test/infra/Makefile.in (TREE-SITTER-FILES): Double-quote variable. * test/infra/test-jobs.yml: Regenerate. --- test/infra/Makefile.in | 2 +- test/infra/test-jobs.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/infra/Makefile.in b/test/infra/Makefile.in index 7b2c27918a7..057d44f6539 100644 --- a/test/infra/Makefile.in +++ b/test/infra/Makefile.in @@ -100,7 +100,7 @@ endef $(foreach subdir, $(SUBDIRS), $(eval $(call subdir_template,$(subdir)))) -TREE-SITTER-FILES ?= $(shell cd .. ; find lisp -name "*-ts-*.el" | sort | sed s/\\.el/.log/) +TREE-SITTER-FILES ?= '"'$(shell cd .. ; find lisp -name "*-ts-*.el" | sort | sed s/\\.el/.log/)'"' all: generate-test-jobs diff --git a/test/infra/test-jobs.yml b/test/infra/test-jobs.yml index 7c26c33f6c6..48c5b726f28 100644 --- a/test/infra/test-jobs.yml +++ b/test/infra/test-jobs.yml @@ -571,10 +571,10 @@ test-src-inotify: .tree-sitter-files-template: variables: tree-sitter-files: >- - lisp/progmodes/c-ts-mode-tests.log + "lisp/progmodes/c-ts-mode-tests.log lisp/progmodes/elixir-ts-mode-tests.log lisp/progmodes/go-ts-mode-tests.log lisp/progmodes/heex-ts-mode-tests.log lisp/progmodes/java-ts-mode-tests.log lisp/progmodes/ruby-ts-mode-tests.log - lisp/progmodes/typescript-ts-mode-tests.log + lisp/progmodes/typescript-ts-mode-tests.log" From 9f5ca95ef770fe43aa6700b238361ec76da7f3fa Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Thu, 1 Jun 2023 15:53:39 +0200 Subject: [PATCH 4/4] * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix a bunch of --- lisp/emacs-lisp/comp.el | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index b2704ae1446..2ea405728a3 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -317,7 +317,7 @@ Useful to hook into pass checkers.") (buffer-file-name (function (&optional buffer) (or string null))) (buffer-list (function (&optional frame) list)) (buffer-local-variables (function (&optional buffer) list)) - (buffer-modified-p (function (&optional buffer) boolean)) + (buffer-modified-p (function (&optional buffer) (or boolean (member autosaved)))) (buffer-size (function (&optional buffer) integer)) (buffer-string (function () string)) (buffer-substring (function ((or integer marker) (or integer marker)) string)) @@ -344,7 +344,7 @@ Useful to hook into pass checkers.") (concat (function (&rest sequence) string)) (cons (function (t t) cons)) (consp (function (t) boolean)) - (coordinates-in-window-p (function (cons window) boolean)) + (coordinates-in-window-p (function (cons window) (or cons null (member bottom-divider right-divider mode-line header-line tab-line left-fringe right-fringe vertical-line left-margin right-margin)))) (copy-alist (function (list) list)) (copy-marker (function (&optional (or integer marker) boolean) marker)) (copy-sequence (function (sequence) sequence)) @@ -363,7 +363,7 @@ Useful to hook into pass checkers.") (current-time-zone (function (&optional (or number list) (or symbol string cons integer)) cons)) - (custom-variable-p (function (symbol) boolean)) + (custom-variable-p (function (symbol) t)) (decode-char (function (cons t) (or fixnum null))) (decode-time (function (&optional (or number list) (or symbol string cons integer) @@ -385,18 +385,18 @@ Useful to hook into pass checkers.") (error-message-string (function (list) string)) (eventp (function (t) boolean)) (exp (function (number) float)) - (expt (function (number number) float)) + (expt (function (number number) number)) (fboundp (function (symbol) boolean)) (fceiling (function (float) float)) (featurep (function (symbol &optional symbol) boolean)) (ffloor (function (float) float)) (file-directory-p (function (string) boolean)) (file-exists-p (function (string) boolean)) - (file-locked-p (function (string) boolean)) + (file-locked-p (function (string) (or boolean string))) (file-name-absolute-p (function (string) boolean)) (file-newer-than-file-p (function (string string) boolean)) (file-readable-p (function (string) boolean)) - (file-symlink-p (function (string) boolean)) + (file-symlink-p (function (string) (or boolean string))) (file-writable-p (function (string) boolean)) (fixnump (function (t) boolean)) (float (function (number) float)) @@ -411,8 +411,8 @@ Useful to hook into pass checkers.") (frame-first-window (function ((or frame window)) window)) (frame-root-window (function (&optional (or frame window)) window)) (frame-selected-window (function (&optional (or frame window)) window)) - (frame-visible-p (function (frame) boolean)) - (framep (function (t) boolean)) + (frame-visible-p (function (frame) (or boolean (member icon)))) + (framep (function (t) (or boolean (member x w32 ns pc pgtk haiku)))) (fround (function (float) float)) (ftruncate (function (float) float)) (get (function (symbol symbol) t)) @@ -506,7 +506,7 @@ Useful to hook into pass checkers.") (previous-window (function (&optional window t t) window)) (prin1-to-string (function (t &optional t t) string)) (processp (function (t) boolean)) - (proper-list-p (function (t) boolean)) + (proper-list-p (function (t) (or fixnum null))) (propertize (function (string &rest t) string)) (radians-to-degrees (function (number) float)) (rassoc (function (t list) list))