In GNU Emacs 29.1 (build 2, x86_64-w64-mingw32) of 2023-08-02 built on AVALON
Windowing system distributor 'Microsoft Corp.', version 10.0.19045
System Description: Microsoft Windows 10 Pro (v10.0.2009.19045.3930)
Configured using:
'configure --with-modules --without-dbus --with-native-compilation=aot
--without-compress-install --with-tree-sitter CFLAGS=-O2'
Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY
W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XPM ZLIB
(NATIVE_COMP present but libgccjit not available)
Important settings:
value of $LANG: ENU
locale-coding-system: utf-8
Major mode: C
Minor modes in effect:
save-place-mode: t
recentf-mode: t
which-function-mode: t
desktop-save-mode: t
key-chord-mode: t
override-global-mode: t
global-auto-revert-mode: t
global-so-long-mode: t
flyspell-mode: t
icomplete-mode: t
fido-mode: t
whitespace-mode: t
electric-pair-mode: t
savehist-mode: t
display-time-mode: t
shell-dirtrack-mode: t
auto-insert-mode: t
delete-selection-mode: t
cua-mode: t
global-eldoc-mode: t
show-paren-mode: t
mouse-wheel-mode: t
prettify-symbols-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
size-indication-mode: t
column-number-mode: 1
line-number-mode: 1
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
auto-save-visited-mode: t
abbrev-mode: t
Load-path shadows:
c:/usr/home/.emacs.d2/src/prolog hides c:/usr/local/emacs/share/emacs/29.1/lisp/progmodes/prolog
Features:
(shadow sort mail-extr emacsbug message yank-media puny rfc822 mml mml-sec ...)
Memory information:
((conses 16 1328082 122098)
(symbols 48 35374 0)
(strings 32 187080 7259)
(string-bytes 1 5454999)
(vectors 16 81243)
(vector-slots 8 1843247 151854)
(floats 8 515 546)
(intervals 56 162466 825)
(buffers 984 88))
When in c-ts-mode.el and when having '(setq comment-end " ")' and when I then
then run e.g. 'comment-dwim' or simpler '(comment-normalize-vars)', I'm getting
'comment-dwim: Args out of range: "", 0, 1'.
The error comes from the two 'substring' calls in this s-sexp - where the code
already contains my "fix" - both calls to 'substring' have been guarded by
'(if (string-equal ce "") "" ...)'.
There are surely smarter ways to fix that - if one knows what is supposed to
happen here :). But maybe that fix gives you a hint to the appropriate
solution.
(let ((ce (if (string= "" comment-end) "\n"
(comment-string-strip comment-end t t))))
(setq-local comment-end-skip
;; We use [ \t] rather than \s- because we don't want to
;; remove ^L in C mode when uncommenting.
(concat "[ \t]*\\(\\s>" (if comment-quote-nested "" "+")
"\\|" (regexp-quote (if (string-equal ce "") "" (substring ce 0 1)))
(if (and comment-quote-nested (<= (length ce) 1)) "" "+")
(regexp-quote (if (string-equal ce "") "" (substring ce 1)))
"\\)")))