From unknown Sun Jun 22 17:18:17 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64814: 29.1; typescript-ts-mode indentation broken since 235561a Resent-From: Jimmy Yuen Ho Wong Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 23 Jul 2023 21:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 64814 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 64814@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.169014739930969 (code B ref -1); Sun, 23 Jul 2023 21:24:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 Jul 2023 21:23:19 +0000 Received: from localhost ([127.0.0.1]:41322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNgXu-00083Q-SM for submit@debbugs.gnu.org; Sun, 23 Jul 2023 17:23:19 -0400 Received: from lists.gnu.org ([2001:470:142::17]:37848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNgXs-00083B-4r for submit@debbugs.gnu.org; Sun, 23 Jul 2023 17:23:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNgXl-00014x-K6 for bug-gnu-emacs@gnu.org; Sun, 23 Jul 2023 17:23:09 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qNgXi-0005Kj-NF for bug-gnu-emacs@gnu.org; Sun, 23 Jul 2023 17:23:09 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-3fba8e2aa52so34911875e9.1 for ; Sun, 23 Jul 2023 14:23:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690147384; x=1690752184; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=jkhsRg8n6nfWfPN+tCggfFaGTmPys5VRDL1yudbra7M=; b=j3bSv5pS5p1nmO8qc/L36scgbBOcfBEci5SpKjEcVWTNATkyLjbQQs1EnqJ7LdsKwD yBf2Dh99GVo3JhQUUlNxcgrrz3x4BKUCx206RrdqGqWXJ9uJMzhT/+j7L1TXXaSJ6UYS wObTxjK90c20pbcYDhB99fcWgftqrBDBx6YVUCDkQKy7yUesY+ZEmZvhDspYJGs9Gwg1 ODE+ECCDtTIJ5KPswVtdqQ9JMDKVUH4HhcY0OP+a7JQ8NqYvwJ9S8qvF8JGRNR7gXXJg t7VK6n4bZI70++xVv2MZUMiuLz9k29xSuRWbYTlSR88Am2MSIqE9UQYRQoq5d1wUbrKC tUYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690147384; x=1690752184; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=jkhsRg8n6nfWfPN+tCggfFaGTmPys5VRDL1yudbra7M=; b=QjFguSB1IbiJLYSXlJK64Xc+jCQqpC7W9Z2ybI/v1ZQqOj8EGyhsWViL87mHUAwcSl hYlinHrPqEUDuodlwX5gr9Yh+onHtnpYY5uMpxqoZCw3no96e6O/MJX5ddcUb+fQ3z5F Tspe+Ydcyxi+mTw7p589XUY7LPoTkMeUpj+OulQFzmwA3uase0sorS4BiPZOOcqlaeco ZWgf6NaVs0RVLGMvxXDtIKdblcjNNGNqhg1k/Mnwo14m7815F9nBOThkOfXL/sUha1PK RW2NU3ZJB5S+3sfwMO45fBzfNUa3E8nQaMU7WeJYJhXKM4ItKb0a69VKlMWA/sORkWhF uoVA== X-Gm-Message-State: ABy/qLbN7dzVGnQIhhbsl9rrLZsPR5/yoemgHODCbJjT5ryJ2BhLMpxi IW7JBld4GckpcNX0ymGJS0KE0GCNkYynQA== X-Google-Smtp-Source: APBJJlFo/s2NUds7gFtuVi3s9TdG9vny1SFC1T848AgsOzGMPh+/a3vNZSdlcZjxHXVzpb0lXlInOA== X-Received: by 2002:a7b:c8d2:0:b0:3fb:dd9c:72c8 with SMTP id f18-20020a7bc8d2000000b003fbdd9c72c8mr6694614wml.22.1690147383771; Sun, 23 Jul 2023 14:23:03 -0700 (PDT) Received: from MobileCat.local ([2a01:4b00:89a0:2400:4552:394d:d438:1fa4]) by smtp.gmail.com with ESMTPSA id q3-20020adfea03000000b0031435c2600esm10782499wrm.79.2023.07.23.14.23.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 23 Jul 2023 14:23:03 -0700 (PDT) From: Jimmy Yuen Ho Wong Date: Sun, 23 Jul 2023 22:23:04 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=wyuenho@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Reproduction: 1. emacs -q 2. C-x C-f ~/test.ts 3. M-x typescript-ts-mode 4. Insert ```typescript if (true) { console.log('hello'); } ``` 5. Move point to the beginning of the second line 6. TAB Expectation: I expect the indentation behavior to be the same as js-ts-mode, in which the if statement body will be indented as I type RET after {, or on TAB on the second line, but commit 235561a seems to have broken this behavior. In GNU Emacs 29.1 (build 1, aarch64-apple-darwin22.5.0, NS appkit-2299.60 Version 13.4.1 (c) (Build 22F770820d)) of 2023-07-23 built on MobileCat.localdomain Windowing system distributor 'Apple', version 10.3.2299 System Description: macOS 13.4.1 Configured using: 'configure --prefix=/opt/local --disable-silent-rules --without-dbus --without-gconf --without-libotf --without-m17n-flt --with-libgmp --with-gnutls --with-json --with-xml2 --with-modules --infodir /opt/local/share/info/emacs --with-sqlite3 --with-webp --with-ns --with-lcms2 --without-harfbuzz --without-imagemagick --without-xaw3d --with-tree-sitter --with-rsvg --with-native-compilation=aot 'CFLAGS=-pipe -Os -Wno-attributes -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64' 'CPPFLAGS=-I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk' 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath /opt/local/lib/gcc12 -Wl,-no_pie -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64'' Configured features: ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP ZLIB Important settings: value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: TypeScript Minor modes in effect: flycheck-inline-mode: t smart-semicolon-mode: t company-quickhelp-mode: t company-quickhelp-local-mode: t company-prescient-mode: t rainbow-mode: t display-line-numbers-mode: t subword-mode: t page-break-lines-mode: t beginend-prog-mode: t imenu-list-minor-mode: t purpose-mode: t windmove-mode: t magit-todos-mode: t global-git-commit-mode: t magit-auto-revert-mode: t diff-hl-flydiff-mode: t projectile-rails-global-mode: t projectile-mode: t prettier-mode: t shell-dirtrack-mode: t pdf-occur-global-minor-mode: t marginalia-mode: t vertico-prescient-mode: t prescient-persist-mode: t vertico-mouse-mode: t vertico-mode: t override-global-mode: t dap-tooltip-mode: t dap-ui-many-windows-mode: t dap-ui-controls-mode: t dap-ui-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t winner-mode: t which-key-mode: t which-function-mode: t smooth-scrolling-mode: t show-smartparens-global-mode: t show-smartparens-mode: t smartparens-global-mode: t smartparens-mode: t server-mode: t savehist-mode: t save-place-mode: t rxt-global-mode: t rxt-mode: t recentf-mode: t minibuffer-depth-indicate-mode: t global-whitespace-cleanup-mode: t whitespace-cleanup-mode: t global-so-long-mode: t global-origami-mode: t origami-mode: t global-move-dup-mode: t move-dup-mode: t global-hl-line-mode: t global-flycheck-mode: t flycheck-mode: t global-diff-hl-show-hunk-mouse-mode: t diff-hl-show-hunk-mouse-mode: t global-diff-hl-mode: t diff-hl-mode: t global-company-mode: t company-mode: t global-auto-revert-mode: t global-aggressive-indent-mode: t aggressive-indent-mode: t gcmh-mode: t editorconfig-mode: t direnv-mode: t desktop-save-mode: t delete-selection-mode: t dap-auto-configure-mode: t dap-mode: t yas-minor-mode: t auto-compile-on-save-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t Load-path shadows: /opt/local/share/emacs/site-lisp/site-start hides /Applications/MacPorts/Emacs.app/Contents/Resources/site-lisp/site-start /Users/wyuenho/.emacs.d/elpa/transient-20230723.1411/transient hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient Features: (shadow sort mail-extr helpful cc-langs trace edebug info-look elisp-refs flycheck-inline flycheck-cask smart-semicolon add-node-modules-path emacsbug dired-aux vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs diff-hl-dired all-the-icons-dired dired-collapse dired-hacks-utils company-quickhelp pos-tip company-prescient company-keywords company-etags etags fileloop company-gtags company-dabbrev-code company-dabbrev company-yasnippet company-capf company-files company-cmake company-clang company-semantic company-template company-bbdb rainbow-mode elisp-def ert debug backtrace display-line-numbers cap-words superword subword smartparens-rust smartparens-config smartparens-javascript smartparens-ruby smartparens-org smartparens-python smartparens-markdown smartparens-text smartparens-c page-break-lines beginend window-purpose-x shut-up imenu-list hideshow window-purpose window-purpose-fixes window-purpose-prefix-overload window-purpose-switch window-purpose-layout window-purpose-core window-purpose-configuration window-purpose-utils ibuffer-projectile windmove dired-hide-dotfiles shrink-path git-timemachine vc-git magit-lfs magit-todos hl-todo async forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub forge-notify forge-revnote forge-pullreq forge-issue forge-topic bug-reference forge-post forge-repo forge forge-core forge-db closql emacsql-sqlite-common emacsql emacsql-compiler magit-bookmark magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode git-commit log-edit add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode magit-git magit-base magit-section cursor-sensor crm diff-hl-flydiff diff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util rg rg-info-hack rg-menu rg-ibuffer rg-result wgrep-rg wgrep rg-history rg-header projectile-rails rake inflections inf-ruby ruby-mode smie autoinsert lsp-metals view lsp-metals-treeview treemacs-extensions treemacs-mouse-interface lsp-metals-protocol lsp-sourcekit dap-java lsp-java request lsp cargo cargo-process rust-ts-mode cmake-ts-mode yard-mode lsp-pyright pet lsp-jedi python-pytest projectile grep transient python-isort python-black python python-insert-docstring typescript-ts-mode prettier tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat nvm iter2 reformatter flycheck-package package-lint finder dockerfile-ts-mode toml-ts-mode yaml-ts-mode eterm-256color term disp-table native-complete shell ehelp xterm-color verb js c-ts-common treesit cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs url-queue url-file embark-org org-element org-persist xdg org-id org-refile avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs cal-menu calendar cal-loaddefs org-version org-compat org-macs quick-peek lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util face-remap pdf-loader pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch pdf-misc pdf-tools pdf-view treemacs-bookmarks treemacs-tags bookmark jka-compr pdf-cache pdf-info tq pdf-util format-spec pdf-macs image-mode exif iedit iedit-lib mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core rect embark ffap marginalia vertico-prescient prescient char-fold vertico-mouse vertico-directory vertico compat scroll-on-jump pager-default-keybindings pager browse-kill-ring edmacro kmacro use-package-bind-key bind-key use-package-delight exec-path-from-shell all-the-icons all-the-icons-faces all-the-icons-data-material-icons all-the-icons-data-fluentui-system-icons all-the-icons-data-fontawesome-4 all-the-icons-data-weather-icons all-the-icons-data-vscode-codicons all-the-icons-data-octicons all-the-icons-data-mfixx all-the-icons-data-file-icons all-the-icons-data-devopicons all-the-icons-data-alltheicons svg dom xml parse-time iso8601 spaceline-config spaceline-segments spaceline powerline powerline-separators powerline-themes solarized-dark-theme solarized-theme solarized solarized-faces delight quelpa-use-package use-package-core quelpa lisp-mnt help-fns radix-tree finder-inf mm-archive message sendmail yank-media dired dired-loaddefs rfc822 mml mml-sec epa gnus-util time-date mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils gnutls url-cache url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw dap-mouse dap-ui lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator pulse treemacs-faces treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros gdb-mi bindat gud bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils cus-edit pp lsp-lens winner which-key which-func smooth-scrolling smartparens loadhist server savehist saveplace pcre2el rxt re-builder recentf mb-depth help-at-pt whitespace-cleanup-mode advice whitespace so-long origami origami-parsers cl move-dup hl-line flycheck find-func diff-hl-show-hunk diff-hl-inline-popup diff-hl log-view pcvs-util vc-dir vc vc-dispatcher company autorevert aggressive-indent gcmh editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch direnv diff-mode easy-mmode desktop frameset delsel dap-mode dap-tasks dap-launch lsp-docker yaml posframe dap-overlays lsp-mode lsp-protocol yasnippet-snippets yasnippet xref project tree-widget wid-edit spinner network-stream puny nsm markdown-mode color thingatpt noutline outline lv inline imenu ht f f-shortdoc s ewoc epg rfc6068 epg-config dash compile text-property-search comint ansi-osc ansi-color ring auto-compile let-alist filenotify cus-load add-node-modules-path-autoloads ag-autoloads aggressive-indent-autoloads all-the-icons-dired-autoloads all-the-icons-autoloads apib-mode-autoloads arduino-mode-autoloads ede/auto eieio-base auto-compile-autoloads auto-yasnippet-autoloads beginend-autoloads browse-kill-ring-autoloads buffer-move-autoloads bug-hunter-autoloads buttercup-autoloads cargo-autoloads cask-mode-autoloads company-native-complete-autoloads company-prescient-autoloads company-quickhelp-autoloads company-autoloads coverage-autoloads crux-autoloads csv-mode-autoloads cycle-quotes-autoloads default-text-scale-autoloads delight-autoloads diff-hl-autoloads dired-collapse-autoloads dired-hacks-utils-autoloads dired-hide-dotfiles-autoloads dired-single-autoloads direnv-autoloads docker-compose-mode-autoloads dotenv-mode-autoloads elisp-def-autoloads embark-autoloads emmet-mode-autoloads enh-ruby-mode-autoloads eterm-256color-autoloads exec-path-from-shell-autoloads expand-region-autoloads flycheck-cask-autoloads flycheck-golangci-lint-autoloads flycheck-inline-autoloads flycheck-package-autoloads flycheck-autoloads focus-autoloads fontify-face-autoloads forge-autoloads closql-autoloads emacsql-autoloads gcmh-autoloads ghub-autoloads git-modes-autoloads git-timemachine-autoloads go-mode-autoloads graphql-mode-autoloads graphviz-dot-mode-autoloads groovy-mode-autoloads helpful-autoloads elisp-refs-autoloads highlight-indent-guides-autoloads ialign-autoloads ibuffer-projectile-autoloads iedit-autoloads imenu-anywhere-autoloads impostman-autoloads jq-mode-autoloads jsonian-autoloads kurecolor-autoloads lorem-ipsum-autoloads lsp-java-autoloads lsp-jedi-autoloads lsp-metals-autoloads dap-mode-autoloads lsp-docker-autoloads bui-autoloads lsp-origami-autoloads lsp-pyright-autoloads lsp-sourcekit-autoloads lsp-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads macrostep-autoloads magit-lfs-autoloads magit-todos-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads hl-todo-autoloads async-autoloads marginalia-autoloads markdown-mode-autoloads monky-autoloads move-dup-autoloads multiple-cursors-autoloads native-complete-autoloads nodejs-repl-autoloads olivetti-autoloads origami-autoloads ov-autoloads package-build-autoloads derived package-lint-autoloads page-break-lines-autoloads pager-default-keybindings-autoloads pager-autoloads pcre2el-autoloads pdf-tools-autoloads pet-autoloads pkg-info-autoloads epl-autoloads plantuml-mode-autoloads po-mode-autoloads pos-tip-autoloads prettier-autoloads editorconfig-autoloads nvm-autoloads iter2-autoloads projectile-rails-autoloads inf-ruby-autoloads inflections-autoloads protobuf-mode-autoloads python-black-autoloads python-docstring-autoloads python-insert-docstring-autoloads python-isort-autoloads python-pytest-autoloads projectile-autoloads quelpa-use-package-autoloads quelpa-autoloads quick-peek-autoloads rainbow-mode-autoloads rake-autoloads reason-mode-autoloads reformatter-autoloads repeat-help-autoloads request-autoloads rg-autoloads ron-mode-autoloads sass-mode-autoloads haml-mode-autoloads sbt-mode-autoloads scala-mode-autoloads scroll-on-jump-autoloads shift-number-autoloads shrink-path-autoloads f-autoloads smart-semicolon-autoloads smartparens-autoloads smooth-scrolling-autoloads solarized-theme-autoloads spaceline-autoloads powerline-autoloads sphinx-doc-autoloads spinner-autoloads ssh-config-mode-autoloads string-inflection-autoloads svg-lib-autoloads swift-mode-autoloads tablist-autoloads terraform-mode-autoloads hcl-mode-autoloads transient-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads dash-autoloads treepy-autoloads ts-comint-autoloads tuareg-autoloads caml-autoloads udev-mode-autoloads verb-autoloads vertico-prescient-autoloads vertico-autoloads prescient-autoloads visual-regexp-steroids-autoloads visual-regexp-autoloads vterm-autoloads vundo-autoloads web-mode-autoloads wgrep-ag-autoloads wgrep-autoloads which-key-autoloads whitespace-cleanup-mode-autoloads window-purpose-autoloads shut-up-autoloads imenu-list-autoloads with-editor-autoloads info compat-autoloads xterm-color-autoloads yaml-autoloads yaml-mode-autoloads yard-mode-autoloads yarn-mode-autoloads yasnippet-snippets-autoloads yasnippet-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source eieio eieio-core password-cache json map byte-opt url-vars pcase bootstrap-theme comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue cocoa ns lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1212754 240397) (symbols 48 92710 0) (strings 32 347730 75017) (string-bytes 1 10761099) (vectors 16 134749) (vector-slots 8 2725753 476148) (floats 8 829 1757) (intervals 56 3511 483) (buffers 984 28)) From unknown Sun Jun 22 17:18:17 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64814: 29.1; typescript-ts-mode indentation broken since 235561a Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 24 Jul 2023 11:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64814 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Jimmy Yuen Ho Wong , Vincenzo Pupillo , Theodor Thornhill Cc: 64814@debbugs.gnu.org Received: via spool by 64814-submit@debbugs.gnu.org id=B64814.169019843230644 (code B ref 64814); Mon, 24 Jul 2023 11:34:02 +0000 Received: (at 64814) by debbugs.gnu.org; 24 Jul 2023 11:33:52 +0000 Received: from localhost ([127.0.0.1]:41940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNtp2-0007yC-9K for submit@debbugs.gnu.org; Mon, 24 Jul 2023 07:33:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59168) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNtoz-0007xr-BR for 64814@debbugs.gnu.org; Mon, 24 Jul 2023 07:33:50 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNtoq-00033m-Gn; Mon, 24 Jul 2023 07:33:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=WaMqz4m7baKGr9RWi3tO66TKtsx6pO/hRJnDpGHDu2A=; b=IoSv1Ehds52x L1SCgeZK0xEvvJvyX4nqIERkGIwnsjaHiAiSX39XHHZXtZ/S+G4xJXVKJaKo5/1T/OOxIcj97ObRw /DkZHqqpqJGeTLAZJLs7vmYFtjYf/Hxw+/FDPGwyPAEe7NHoy6n8WBqbubemHwxzg8TjscIqXvWgc X6Z7IxvszdxhfpcDh/VngSjFHUzeb20nGKXc0kBFclAGwHZFXYHG7twYH8gTKzUYCHdsWKWhkoS5d XivHgQ8AEzVzAfR/KLcJhMTr57UbUeqVureH2dBGL7b4XVAK3PpJ+XbsxpMYnT5FTdO6YqwqwTATn 4lWHGIgTHel37ueqoP7V6w==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNtoq-0004tC-09; Mon, 24 Jul 2023 07:33:40 -0400 Date: Mon, 24 Jul 2023 14:34:23 +0300 Message-Id: <83y1j5sfuo.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Jimmy Yuen Ho Wong on Sun, 23 Jul 2023 22:23:04 +0100) References: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Jimmy Yuen Ho Wong > Date: Sun, 23 Jul 2023 22:23:04 +0100 > > > Reproduction: > > 1. emacs -q > 2. C-x C-f ~/test.ts > 3. M-x typescript-ts-mode > 4. Insert > > ```typescript > if (true) { > console.log('hello'); > } > ``` > > 5. Move point to the beginning of the second line > 6. TAB > > Expectation: > > I expect the indentation behavior to be the same as js-ts-mode, in which > the if statement body will be indented as I type RET after {, or on TAB > on the second line, but commit 235561a seems to have broken this behavior. Thanks. Theo and Vincenzo, could you please look into this? From unknown Sun Jun 22 17:18:17 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64814: 29.1; typescript-ts-mode indentation broken since 235561a Resent-From: Theodor Thornhill Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 24 Jul 2023 14:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64814 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii , Jimmy Yuen Ho Wong , Vincenzo Pupillo Cc: 64814@debbugs.gnu.org Received: via spool by 64814-submit@debbugs.gnu.org id=B64814.16902086584415 (code B ref 64814); Mon, 24 Jul 2023 14:25:02 +0000 Received: (at 64814) by debbugs.gnu.org; 24 Jul 2023 14:24:18 +0000 Received: from localhost ([127.0.0.1]:43734 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNwTx-000195-NS for submit@debbugs.gnu.org; Mon, 24 Jul 2023 10:24:18 -0400 Received: from out-33.mta0.migadu.com ([2001:41d0:1004:224b::21]:24422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNwTu-00018t-Vt for 64814@debbugs.gnu.org; Mon, 24 Jul 2023 10:24:16 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thornhill.no; s=key1; t=1690208653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8jRD3q5eu39nNe8QoantU+rrLWfmHLNQbJ8g2rVW7Dk=; b=e+XeUgj25wXgYCsjJknnvnBOy0vFTeop40MLXZkFfmM94LmSBTD6mO/yh3RjdcoRsxlCFP DKgZMcgNafEGQQ+9ZqFHHpt0T64xogmi8m3sNwXZ0rSeTLaSqtPVh8Wiz94e8STJxQOq7D GncnkQq0i0SUpE71y+SLUEn3xbBT4vuauF97kmdWQi2m1ApJkqms+kYkeu/KfMtUskVF7k JiEKub0vqlZgEoOepje5xV1TwkNPF6qFZ1nDGX1y/99sF2CRgceaV7aEFF6S7j8dz7MB3l LdPb3/VGnGu6XmYy9reNvEnr7Z468ACjmD4B+A7NMI/dI4TAOVf89LZwdjapVg== From: Theodor Thornhill In-Reply-To: <83y1j5sfuo.fsf@gnu.org> References: <83y1j5sfuo.fsf@gnu.org> Date: Mon, 24 Jul 2023 16:24:11 +0200 Message-ID: <87sf9d5qwk.fsf@thornhill.no> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> From: Jimmy Yuen Ho Wong >> Date: Sun, 23 Jul 2023 22:23:04 +0100 >> >> >> Reproduction: >> >> 1. emacs -q >> 2. C-x C-f ~/test.ts >> 3. M-x typescript-ts-mode >> 4. Insert >> >> ```typescript >> if (true) { >> console.log('hello'); >> } >> ``` >> >> 5. Move point to the beginning of the second line >> 6. TAB >> >> Expectation: >> >> I expect the indentation behavior to be the same as js-ts-mode, in which >> the if statement body will be indented as I type RET after {, or on TAB >> on the second line, but commit 235561a seems to have broken this behavior. > > Thanks. > > Theo and Vincenzo, could you please look into this? Fixed in 4e977136d3148c3baa0e03568c7a2c7dc28eea65. Funnily enough, this wasn't indentation related, but font-locking related. Seems initialization of the major mode didn't work properly because the compat check for font lock didn't account for typescript as a language. The fix was simple enough. Thanks, Theo From unknown Sun Jun 22 17:18:17 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64814: 29.1; typescript-ts-mode indentation broken since 235561a Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 24 Jul 2023 16:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64814 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Theodor Thornhill Cc: v.pupillo@gmail.com, wyuenho@gmail.com, 64814@debbugs.gnu.org Received: via spool by 64814-submit@debbugs.gnu.org id=B64814.169021531116960 (code B ref 64814); Mon, 24 Jul 2023 16:16:01 +0000 Received: (at 64814) by debbugs.gnu.org; 24 Jul 2023 16:15:11 +0000 Received: from localhost ([127.0.0.1]:43843 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNyDG-0004PT-UV for submit@debbugs.gnu.org; Mon, 24 Jul 2023 12:15:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNyDE-0004P8-KN for 64814@debbugs.gnu.org; Mon, 24 Jul 2023 12:15:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNyD6-0006Ri-Fh; Mon, 24 Jul 2023 12:15:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=cjH2al7/t0HVCS1FEEoxCocHwtuNfaRw+d4JBqDO+1s=; b=aTEf6qiCLm1Y y2Jt9ntYsFAn/bcdK8urSKhmLYiT6arm3RiDZMjJdIIWvmSYUvGciUSRCPPB+J2R2Sy0hQs09huh2 TEbLWR0FpUEXvXhWmYkOuAhGFjUZzXQzPCCt5/tMv9pyC3TlSiLM4AplMNXZ2j2Oak0J24NdDWgms qU2hPhFRiljR+gUcW2hFcjUyy0SNGp3gf40fTNH/gXT0XytZNJUb0bR/HTwUnd6CeiPi8woNVsBpg 07q8k1fHVOnCsuKyUuDbnC03vAJ4p2F3e34l2vTSsUE/4qrBAJrsfGzuua8o7rF9LIbkREd16YKNu Q93BfIzCNZNPkR/Zh6Smsg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNyCv-0005TM-Dr; Mon, 24 Jul 2023 12:14:59 -0400 Date: Mon, 24 Jul 2023 19:15:32 +0300 Message-Id: <83sf9dqo9n.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87sf9d5qwk.fsf@thornhill.no> (message from Theodor Thornhill on Mon, 24 Jul 2023 16:24:11 +0200) References: <83y1j5sfuo.fsf@gnu.org> <87sf9d5qwk.fsf@thornhill.no> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Theodor Thornhill > Cc: 64814@debbugs.gnu.org > Date: Mon, 24 Jul 2023 16:24:11 +0200 > > Eli Zaretskii writes: > > >> I expect the indentation behavior to be the same as js-ts-mode, in which > >> the if statement body will be indented as I type RET after {, or on TAB > >> on the second line, but commit 235561a seems to have broken this behavior. > > > > Thanks. > > > > Theo and Vincenzo, could you please look into this? > > Fixed in 4e977136d3148c3baa0e03568c7a2c7dc28eea65. Funnily enough, this > wasn't indentation related, but font-locking related. Seems > initialization of the major mode didn't work properly because the compat > check for font lock didn't account for typescript as a language. The fix > was simple enough. Thanks, indeed a simple change. From unknown Sun Jun 22 17:18:17 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Jimmy Yuen Ho Wong Subject: bug#64814: closed (Re: bug#64814: 29.1; typescript-ts-mode indentation broken since 235561a) Message-ID: References: X-Gnu-PR-Message: they-closed 64814 X-Gnu-PR-Package: emacs Reply-To: 64814@debbugs.gnu.org Date: Sun, 10 Sep 2023 07:42:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1694331722-16228-1" This is a multi-part message in MIME format... ------------=_1694331722-16228-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #64814: 29.1; typescript-ts-mode indentation broken since 235561a which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 64814@debbugs.gnu.org. --=20 64814: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D64814 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1694331722-16228-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 64814-done) by debbugs.gnu.org; 10 Sep 2023 07:41:35 +0000 Received: from localhost ([127.0.0.1]:48907 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfF4Y-0004Cx-P6 for submit@debbugs.gnu.org; Sun, 10 Sep 2023 03:41:35 -0400 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]:57673) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfF4V-0004Ci-HJ for 64814-done@debbugs.gnu.org; Sun, 10 Sep 2023 03:41:33 -0400 Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-502153ae36cso5373591e87.3 for <64814-done@debbugs.gnu.org>; Sun, 10 Sep 2023 00:41:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694331682; x=1694936482; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=jSCA3h9yPI4DB1+5WtnUEXRpI5dGg1Ueju/ARS3Y/Dw=; b=dRXPjtOTk3QtW0DDcrk8XEIo0HRizwQyMp/V6dUwba2qnBnq/25ysADuYtejgRaZ0S /qBKyWsjmVDmJesI+Zorj6TDQ9qBTqzqoHjLn9ufWoBrvfPIjzlaJd0ZgvETJ+b1w/Ky c4RNjCwO0n8WqyCoxZNXXsQPYpkuOWkRP+kMSsEkIHYpwa+SSkfOSiG0kRzH9ZthPpNw X9R6LTytoXKNLshCnu61s+dpjkmRvlkyMirUPEp92JD+eXtaz/sLZfxJmH9NnD2W2Gsb W1tjyEdT3ZzdbkQrwZF+2YA0q2nFC5i0Lc3OyIKQykV/CJtiJVF3kaa/6pnlGXtPLBUC rotA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694331682; x=1694936482; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=jSCA3h9yPI4DB1+5WtnUEXRpI5dGg1Ueju/ARS3Y/Dw=; b=es+JaKtRLZ4BzO7+MErOPrRyBXjglcarhNOlp5cEikXzGm7urxUkuEcq3SgtACfm1/ vhN9Y12cflFlueTwjxyyeh03cbnMymelG/bnTUBsaXxEQt5PHtawJU9oV7CPRXI9m6tO KWa5t0g3VIGz5OjCAS5axPnWovl/fZbV1gK8HE5wod1lAvFQ6xv3iL0xeyfhe9aBJnq3 wZ8r0AGxkZl25U0vatOSSYQngHck0khRp+LV+miyVuMm7QKRtb4ZsHwnaS/vupeO/F8U k20Jsmn8nXTg0klgFn+r43WKyEYMP1lD6glOznD+yBv/Ey+3Zjm2D26suD1RfzNXMO3o sFCA== X-Gm-Message-State: AOJu0YymUkJkJPiT1A8F/JNkKvGPh/bsK0LIZ6mKSXPf59Twd1QZNGVt wPQ2Dk26O53FXR3p8Sztw8lWVkHjHzxk7KSlX4g= X-Google-Smtp-Source: AGHT+IFp1uwW4oL9w876uKcIs2vP+topc/l4tKsb+eGxzwtgOZ2bMg5CfTI6HTXMFARF2pBAzFhku9XBmRgST6a/Xw0= X-Received: by 2002:a05:6512:36c8:b0:502:a0e9:8820 with SMTP id e8-20020a05651236c800b00502a0e98820mr3969337lfs.47.1694331682003; Sun, 10 Sep 2023 00:41:22 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 10 Sep 2023 00:41:21 -0700 From: Stefan Kangas In-Reply-To: <87sf9d5qwk.fsf@thornhill.no> (Theodor Thornhill's message of "Mon, 24 Jul 2023 16:24:11 +0200") References: <83y1j5sfuo.fsf@gnu.org> <87sf9d5qwk.fsf@thornhill.no> MIME-Version: 1.0 Date: Sun, 10 Sep 2023 00:41:21 -0700 Message-ID: Subject: Re: bug#64814: 29.1; typescript-ts-mode indentation broken since 235561a To: Theodor Thornhill Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 64814-done Cc: Eli Zaretskii , Vincenzo Pupillo , Jimmy Yuen Ho Wong , 64814-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Theodor Thornhill writes: > Fixed in 4e977136d3148c3baa0e03568c7a2c7dc28eea65. It seems like this issue was fixed, but it was left open in the bug tracker. I'm therefore closing it now. Please remember to close bug reports when they are fixed. ------------=_1694331722-16228-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 23 Jul 2023 21:23:19 +0000 Received: from localhost ([127.0.0.1]:41322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNgXu-00083Q-SM for submit@debbugs.gnu.org; Sun, 23 Jul 2023 17:23:19 -0400 Received: from lists.gnu.org ([2001:470:142::17]:37848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNgXs-00083B-4r for submit@debbugs.gnu.org; Sun, 23 Jul 2023 17:23:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNgXl-00014x-K6 for bug-gnu-emacs@gnu.org; Sun, 23 Jul 2023 17:23:09 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qNgXi-0005Kj-NF for bug-gnu-emacs@gnu.org; Sun, 23 Jul 2023 17:23:09 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-3fba8e2aa52so34911875e9.1 for ; Sun, 23 Jul 2023 14:23:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690147384; x=1690752184; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=jkhsRg8n6nfWfPN+tCggfFaGTmPys5VRDL1yudbra7M=; b=j3bSv5pS5p1nmO8qc/L36scgbBOcfBEci5SpKjEcVWTNATkyLjbQQs1EnqJ7LdsKwD yBf2Dh99GVo3JhQUUlNxcgrrz3x4BKUCx206RrdqGqWXJ9uJMzhT/+j7L1TXXaSJ6UYS wObTxjK90c20pbcYDhB99fcWgftqrBDBx6YVUCDkQKy7yUesY+ZEmZvhDspYJGs9Gwg1 ODE+ECCDtTIJ5KPswVtdqQ9JMDKVUH4HhcY0OP+a7JQ8NqYvwJ9S8qvF8JGRNR7gXXJg t7VK6n4bZI70++xVv2MZUMiuLz9k29xSuRWbYTlSR88Am2MSIqE9UQYRQoq5d1wUbrKC tUYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690147384; x=1690752184; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=jkhsRg8n6nfWfPN+tCggfFaGTmPys5VRDL1yudbra7M=; b=QjFguSB1IbiJLYSXlJK64Xc+jCQqpC7W9Z2ybI/v1ZQqOj8EGyhsWViL87mHUAwcSl hYlinHrPqEUDuodlwX5gr9Yh+onHtnpYY5uMpxqoZCw3no96e6O/MJX5ddcUb+fQ3z5F Tspe+Ydcyxi+mTw7p589XUY7LPoTkMeUpj+OulQFzmwA3uase0sorS4BiPZOOcqlaeco ZWgf6NaVs0RVLGMvxXDtIKdblcjNNGNqhg1k/Mnwo14m7815F9nBOThkOfXL/sUha1PK RW2NU3ZJB5S+3sfwMO45fBzfNUa3E8nQaMU7WeJYJhXKM4ItKb0a69VKlMWA/sORkWhF uoVA== X-Gm-Message-State: ABy/qLbN7dzVGnQIhhbsl9rrLZsPR5/yoemgHODCbJjT5ryJ2BhLMpxi IW7JBld4GckpcNX0ymGJS0KE0GCNkYynQA== X-Google-Smtp-Source: APBJJlFo/s2NUds7gFtuVi3s9TdG9vny1SFC1T848AgsOzGMPh+/a3vNZSdlcZjxHXVzpb0lXlInOA== X-Received: by 2002:a7b:c8d2:0:b0:3fb:dd9c:72c8 with SMTP id f18-20020a7bc8d2000000b003fbdd9c72c8mr6694614wml.22.1690147383771; Sun, 23 Jul 2023 14:23:03 -0700 (PDT) Received: from MobileCat.local ([2a01:4b00:89a0:2400:4552:394d:d438:1fa4]) by smtp.gmail.com with ESMTPSA id q3-20020adfea03000000b0031435c2600esm10782499wrm.79.2023.07.23.14.23.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 23 Jul 2023 14:23:03 -0700 (PDT) From: Jimmy Yuen Ho Wong To: bug-gnu-emacs@gnu.org Subject: 29.1; typescript-ts-mode indentation broken since 235561a Date: Sun, 23 Jul 2023 22:23:04 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=wyuenho@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Reproduction: 1. emacs -q 2. C-x C-f ~/test.ts 3. M-x typescript-ts-mode 4. Insert ```typescript if (true) { console.log('hello'); } ``` 5. Move point to the beginning of the second line 6. TAB Expectation: I expect the indentation behavior to be the same as js-ts-mode, in which the if statement body will be indented as I type RET after {, or on TAB on the second line, but commit 235561a seems to have broken this behavior. In GNU Emacs 29.1 (build 1, aarch64-apple-darwin22.5.0, NS appkit-2299.60 Version 13.4.1 (c) (Build 22F770820d)) of 2023-07-23 built on MobileCat.localdomain Windowing system distributor 'Apple', version 10.3.2299 System Description: macOS 13.4.1 Configured using: 'configure --prefix=/opt/local --disable-silent-rules --without-dbus --without-gconf --without-libotf --without-m17n-flt --with-libgmp --with-gnutls --with-json --with-xml2 --with-modules --infodir /opt/local/share/info/emacs --with-sqlite3 --with-webp --with-ns --with-lcms2 --without-harfbuzz --without-imagemagick --without-xaw3d --with-tree-sitter --with-rsvg --with-native-compilation=aot 'CFLAGS=-pipe -Os -Wno-attributes -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64' 'CPPFLAGS=-I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk' 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath /opt/local/lib/gcc12 -Wl,-no_pie -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64'' Configured features: ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP ZLIB Important settings: value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: TypeScript Minor modes in effect: flycheck-inline-mode: t smart-semicolon-mode: t company-quickhelp-mode: t company-quickhelp-local-mode: t company-prescient-mode: t rainbow-mode: t display-line-numbers-mode: t subword-mode: t page-break-lines-mode: t beginend-prog-mode: t imenu-list-minor-mode: t purpose-mode: t windmove-mode: t magit-todos-mode: t global-git-commit-mode: t magit-auto-revert-mode: t diff-hl-flydiff-mode: t projectile-rails-global-mode: t projectile-mode: t prettier-mode: t shell-dirtrack-mode: t pdf-occur-global-minor-mode: t marginalia-mode: t vertico-prescient-mode: t prescient-persist-mode: t vertico-mouse-mode: t vertico-mode: t override-global-mode: t dap-tooltip-mode: t dap-ui-many-windows-mode: t dap-ui-controls-mode: t dap-ui-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t winner-mode: t which-key-mode: t which-function-mode: t smooth-scrolling-mode: t show-smartparens-global-mode: t show-smartparens-mode: t smartparens-global-mode: t smartparens-mode: t server-mode: t savehist-mode: t save-place-mode: t rxt-global-mode: t rxt-mode: t recentf-mode: t minibuffer-depth-indicate-mode: t global-whitespace-cleanup-mode: t whitespace-cleanup-mode: t global-so-long-mode: t global-origami-mode: t origami-mode: t global-move-dup-mode: t move-dup-mode: t global-hl-line-mode: t global-flycheck-mode: t flycheck-mode: t global-diff-hl-show-hunk-mouse-mode: t diff-hl-show-hunk-mouse-mode: t global-diff-hl-mode: t diff-hl-mode: t global-company-mode: t company-mode: t global-auto-revert-mode: t global-aggressive-indent-mode: t aggressive-indent-mode: t gcmh-mode: t editorconfig-mode: t direnv-mode: t desktop-save-mode: t delete-selection-mode: t dap-auto-configure-mode: t dap-mode: t yas-minor-mode: t auto-compile-on-save-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t Load-path shadows: /opt/local/share/emacs/site-lisp/site-start hides /Applications/MacPorts/Emacs.app/Contents/Resources/site-lisp/site-start /Users/wyuenho/.emacs.d/elpa/transient-20230723.1411/transient hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient Features: (shadow sort mail-extr helpful cc-langs trace edebug info-look elisp-refs flycheck-inline flycheck-cask smart-semicolon add-node-modules-path emacsbug dired-aux vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs diff-hl-dired all-the-icons-dired dired-collapse dired-hacks-utils company-quickhelp pos-tip company-prescient company-keywords company-etags etags fileloop company-gtags company-dabbrev-code company-dabbrev company-yasnippet company-capf company-files company-cmake company-clang company-semantic company-template company-bbdb rainbow-mode elisp-def ert debug backtrace display-line-numbers cap-words superword subword smartparens-rust smartparens-config smartparens-javascript smartparens-ruby smartparens-org smartparens-python smartparens-markdown smartparens-text smartparens-c page-break-lines beginend window-purpose-x shut-up imenu-list hideshow window-purpose window-purpose-fixes window-purpose-prefix-overload window-purpose-switch window-purpose-layout window-purpose-core window-purpose-configuration window-purpose-utils ibuffer-projectile windmove dired-hide-dotfiles shrink-path git-timemachine vc-git magit-lfs magit-todos hl-todo async forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub forge-notify forge-revnote forge-pullreq forge-issue forge-topic bug-reference forge-post forge-repo forge forge-core forge-db closql emacsql-sqlite-common emacsql emacsql-compiler magit-bookmark magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode git-commit log-edit add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode magit-git magit-base magit-section cursor-sensor crm diff-hl-flydiff diff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util rg rg-info-hack rg-menu rg-ibuffer rg-result wgrep-rg wgrep rg-history rg-header projectile-rails rake inflections inf-ruby ruby-mode smie autoinsert lsp-metals view lsp-metals-treeview treemacs-extensions treemacs-mouse-interface lsp-metals-protocol lsp-sourcekit dap-java lsp-java request lsp cargo cargo-process rust-ts-mode cmake-ts-mode yard-mode lsp-pyright pet lsp-jedi python-pytest projectile grep transient python-isort python-black python python-insert-docstring typescript-ts-mode prettier tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat nvm iter2 reformatter flycheck-package package-lint finder dockerfile-ts-mode toml-ts-mode yaml-ts-mode eterm-256color term disp-table native-complete shell ehelp xterm-color verb js c-ts-common treesit cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs url-queue url-file embark-org org-element org-persist xdg org-id org-refile avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs cal-menu calendar cal-loaddefs org-version org-compat org-macs quick-peek lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util face-remap pdf-loader pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch pdf-misc pdf-tools pdf-view treemacs-bookmarks treemacs-tags bookmark jka-compr pdf-cache pdf-info tq pdf-util format-spec pdf-macs image-mode exif iedit iedit-lib mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core rect embark ffap marginalia vertico-prescient prescient char-fold vertico-mouse vertico-directory vertico compat scroll-on-jump pager-default-keybindings pager browse-kill-ring edmacro kmacro use-package-bind-key bind-key use-package-delight exec-path-from-shell all-the-icons all-the-icons-faces all-the-icons-data-material-icons all-the-icons-data-fluentui-system-icons all-the-icons-data-fontawesome-4 all-the-icons-data-weather-icons all-the-icons-data-vscode-codicons all-the-icons-data-octicons all-the-icons-data-mfixx all-the-icons-data-file-icons all-the-icons-data-devopicons all-the-icons-data-alltheicons svg dom xml parse-time iso8601 spaceline-config spaceline-segments spaceline powerline powerline-separators powerline-themes solarized-dark-theme solarized-theme solarized solarized-faces delight quelpa-use-package use-package-core quelpa lisp-mnt help-fns radix-tree finder-inf mm-archive message sendmail yank-media dired dired-loaddefs rfc822 mml mml-sec epa gnus-util time-date mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils gnutls url-cache url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw dap-mouse dap-ui lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator pulse treemacs-faces treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros gdb-mi bindat gud bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils cus-edit pp lsp-lens winner which-key which-func smooth-scrolling smartparens loadhist server savehist saveplace pcre2el rxt re-builder recentf mb-depth help-at-pt whitespace-cleanup-mode advice whitespace so-long origami origami-parsers cl move-dup hl-line flycheck find-func diff-hl-show-hunk diff-hl-inline-popup diff-hl log-view pcvs-util vc-dir vc vc-dispatcher company autorevert aggressive-indent gcmh editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch direnv diff-mode easy-mmode desktop frameset delsel dap-mode dap-tasks dap-launch lsp-docker yaml posframe dap-overlays lsp-mode lsp-protocol yasnippet-snippets yasnippet xref project tree-widget wid-edit spinner network-stream puny nsm markdown-mode color thingatpt noutline outline lv inline imenu ht f f-shortdoc s ewoc epg rfc6068 epg-config dash compile text-property-search comint ansi-osc ansi-color ring auto-compile let-alist filenotify cus-load add-node-modules-path-autoloads ag-autoloads aggressive-indent-autoloads all-the-icons-dired-autoloads all-the-icons-autoloads apib-mode-autoloads arduino-mode-autoloads ede/auto eieio-base auto-compile-autoloads auto-yasnippet-autoloads beginend-autoloads browse-kill-ring-autoloads buffer-move-autoloads bug-hunter-autoloads buttercup-autoloads cargo-autoloads cask-mode-autoloads company-native-complete-autoloads company-prescient-autoloads company-quickhelp-autoloads company-autoloads coverage-autoloads crux-autoloads csv-mode-autoloads cycle-quotes-autoloads default-text-scale-autoloads delight-autoloads diff-hl-autoloads dired-collapse-autoloads dired-hacks-utils-autoloads dired-hide-dotfiles-autoloads dired-single-autoloads direnv-autoloads docker-compose-mode-autoloads dotenv-mode-autoloads elisp-def-autoloads embark-autoloads emmet-mode-autoloads enh-ruby-mode-autoloads eterm-256color-autoloads exec-path-from-shell-autoloads expand-region-autoloads flycheck-cask-autoloads flycheck-golangci-lint-autoloads flycheck-inline-autoloads flycheck-package-autoloads flycheck-autoloads focus-autoloads fontify-face-autoloads forge-autoloads closql-autoloads emacsql-autoloads gcmh-autoloads ghub-autoloads git-modes-autoloads git-timemachine-autoloads go-mode-autoloads graphql-mode-autoloads graphviz-dot-mode-autoloads groovy-mode-autoloads helpful-autoloads elisp-refs-autoloads highlight-indent-guides-autoloads ialign-autoloads ibuffer-projectile-autoloads iedit-autoloads imenu-anywhere-autoloads impostman-autoloads jq-mode-autoloads jsonian-autoloads kurecolor-autoloads lorem-ipsum-autoloads lsp-java-autoloads lsp-jedi-autoloads lsp-metals-autoloads dap-mode-autoloads lsp-docker-autoloads bui-autoloads lsp-origami-autoloads lsp-pyright-autoloads lsp-sourcekit-autoloads lsp-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads macrostep-autoloads magit-lfs-autoloads magit-todos-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads hl-todo-autoloads async-autoloads marginalia-autoloads markdown-mode-autoloads monky-autoloads move-dup-autoloads multiple-cursors-autoloads native-complete-autoloads nodejs-repl-autoloads olivetti-autoloads origami-autoloads ov-autoloads package-build-autoloads derived package-lint-autoloads page-break-lines-autoloads pager-default-keybindings-autoloads pager-autoloads pcre2el-autoloads pdf-tools-autoloads pet-autoloads pkg-info-autoloads epl-autoloads plantuml-mode-autoloads po-mode-autoloads pos-tip-autoloads prettier-autoloads editorconfig-autoloads nvm-autoloads iter2-autoloads projectile-rails-autoloads inf-ruby-autoloads inflections-autoloads protobuf-mode-autoloads python-black-autoloads python-docstring-autoloads python-insert-docstring-autoloads python-isort-autoloads python-pytest-autoloads projectile-autoloads quelpa-use-package-autoloads quelpa-autoloads quick-peek-autoloads rainbow-mode-autoloads rake-autoloads reason-mode-autoloads reformatter-autoloads repeat-help-autoloads request-autoloads rg-autoloads ron-mode-autoloads sass-mode-autoloads haml-mode-autoloads sbt-mode-autoloads scala-mode-autoloads scroll-on-jump-autoloads shift-number-autoloads shrink-path-autoloads f-autoloads smart-semicolon-autoloads smartparens-autoloads smooth-scrolling-autoloads solarized-theme-autoloads spaceline-autoloads powerline-autoloads sphinx-doc-autoloads spinner-autoloads ssh-config-mode-autoloads string-inflection-autoloads svg-lib-autoloads swift-mode-autoloads tablist-autoloads terraform-mode-autoloads hcl-mode-autoloads transient-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads dash-autoloads treepy-autoloads ts-comint-autoloads tuareg-autoloads caml-autoloads udev-mode-autoloads verb-autoloads vertico-prescient-autoloads vertico-autoloads prescient-autoloads visual-regexp-steroids-autoloads visual-regexp-autoloads vterm-autoloads vundo-autoloads web-mode-autoloads wgrep-ag-autoloads wgrep-autoloads which-key-autoloads whitespace-cleanup-mode-autoloads window-purpose-autoloads shut-up-autoloads imenu-list-autoloads with-editor-autoloads info compat-autoloads xterm-color-autoloads yaml-autoloads yaml-mode-autoloads yard-mode-autoloads yarn-mode-autoloads yasnippet-snippets-autoloads yasnippet-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source eieio eieio-core password-cache json map byte-opt url-vars pcase bootstrap-theme comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue cocoa ns lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1212754 240397) (symbols 48 92710 0) (strings 32 347730 75017) (string-bytes 1 10761099) (vectors 16 134749) (vector-slots 8 2725753 476148) (floats 8 829 1757) (intervals 56 3511 483) (buffers 984 28)) ------------=_1694331722-16228-1--