GNU bug report logs -
#48037
28.0.50; add-change-log-entry does not detect name with digit
Previous Next
Reported by: Michael Albinus <michael.albinus <at> gmx.de>
Date: Mon, 26 Apr 2021 15:50:01 UTC
Severity: normal
Found in version 28.0.50
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 48037 in the body.
You can then email your comments to 48037 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48037
; Package
emacs
.
(Mon, 26 Apr 2021 15:50:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 26 Apr 2021 15:50:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
In test/infra/gitlab-ci.yml, there are entries like
--8<---------------cut here---------------start------------->8---
build-native-bootstrap-speed2:
stage: slow
...
--8<---------------cut here---------------end--------------->8---
If I change such an entry, and try to create a ChangeLog entry via 'C-x
4 a', this entry is not recognized due to the digit in its name. I
propose the following patch, which improves this:
--8<---------------cut here---------------start------------->8---
diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el
index 6b38806651..d2d4e31d05 100644
--- a/lisp/vc/add-log.el
+++ b/lisp/vc/add-log.el
@@ -1194,7 +1194,7 @@ change-log-fill-forward-paragraph
(forward-paragraph n)))
(defcustom add-log-current-defun-header-regexp
- "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alpha:]]+\\)[ \t]*[:=]"
+ "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alnum:]]+\\)[ \t]*[:=]"
"Heuristic regexp used by `add-log-current-defun' for unknown major modes.
The regexp's first submatch is placed in the ChangeLog entry, in
parentheses."
--8<---------------cut here---------------end--------------->8---
Comments?
Best regards, Michael.
In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.26, cairo version 1.16.0)
of 2021-03-08 built on gandalf
Repository revision: 11d3af3c7b9dc5a2910807d311168fb82d962d0d
Repository branch: master
Windowing system distributor 'Fedora Project', version 11.0.12010000
System Description: Fedora 33 (Workstation Edition)
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER
PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3
ZLIB
Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8
Major mode: YAML
Minor modes in effect:
async-bytecomp-package-mode: t
global-git-commit-mode: t
magit-auto-revert-mode: t
auto-revert-mode: t
display-time-mode: t
shell-dirtrack-mode: t
delete-selection-mode: t
icomplete-mode: t
show-paren-mode: t
tooltip-mode: t
global-eldoc-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
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
auto-fill-function: do-auto-fill
transient-mark-mode: t
Load-path shadows:
~/lisp/dbus hides /usr/local/share/emacs/28.0.50/lisp/net/dbus
/home/albinus/src/tramp/lisp/tramp-sh hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-sh
/home/albinus/src/tramp/lisp/tramp-fuse hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-fuse
/home/albinus/src/tramp/lisp/tramp-ftp hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-ftp
/home/albinus/src/tramp/lisp/tramp hides /usr/local/share/emacs/28.0.50/lisp/net/tramp
/home/albinus/src/tramp/lisp/tramp-cache hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-cache
/home/albinus/src/tramp/lisp/tramp-uu hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-uu
/home/albinus/src/tramp/lisp/tramp-rclone hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-rclone
/home/albinus/src/tramp/lisp/tramp-integration hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-integration
/home/albinus/src/tramp/lisp/tramp-archive hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-archive
/home/albinus/src/tramp/lisp/tramp-adb hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-adb
/home/albinus/src/tramp/lisp/tramp-cmds hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-cmds
/home/albinus/src/tramp/lisp/tramp-compat hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-compat
/home/albinus/src/tramp/lisp/tramp-sudoedit hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-sudoedit
/home/albinus/src/tramp/lisp/tramp-gvfs hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-gvfs
/home/albinus/src/tramp/lisp/tramp-loaddefs hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-loaddefs
/home/albinus/src/tramp/lisp/tramp-crypt hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-crypt
/home/albinus/src/tramp/lisp/tramp-smb hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-smb
/home/albinus/src/tramp/lisp/trampver hides /usr/local/share/emacs/28.0.50/lisp/net/trampver
/home/albinus/src/tramp/lisp/tramp-sshfs hides /usr/local/share/emacs/28.0.50/lisp/net/tramp-sshfs
Features:
(emba glab ghub-graphql treepy gsexp ghub let-alist dockerfile-mode
sh-script smie executable log-view yaml-mode ediff-ptch gnus-fun
gnus-icalendar org-capture org-refile icalendar diary-lib diary-loaddefs
shadow emacsbug tramp-theme em-dirs esh-var esh-mode esh-cmd esh-ext
esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util finder
loadhist gdb-mi gud shortdoc ediff-vers rng-cmpct rng-nxml rng-valid
rng-loc rng-uri rng-parse nxml-parse rng-match rng-pttrn nxml-ns
nxml-mode nxml-outln nxml-rap sgml-mode nxml-util nxml-enc xmltok
helm-for-files helm-comint helm-imenu semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet
helm-bookmark helm-external helm-mode helm-elisp helm-files image-dired
dired-x ffap helm-buffers helm-tags helm-locate helm-eval edebug
helm-occur helm-grep helm-regexp helm-net helm-adaptive helm-info
helm-utils helm-types helm-help helm async-bytecomp helm-global-bindings
helm-easymenu helm-source helm-multi-match async helm-lib lsp-html
lsp-icons lsp-completion lsp-mode lsp-protocol tree-widget spinner
markdown-mode lv inline ht f s git-rebase magit-bookmark bookmark
magit-submodule magit-obsolete 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 git-commit
log-edit pcvs-util magit-core magit-autorevert magit-margin
magit-transient magit-process with-editor server magit-mode magit-git
magit-section benchmark magit-utils which-func dash skeleton ibuf-macs
find-dired grep ibuf-ext ibuffer ibuffer-loaddefs autorevert tar-mode
arc-mode archive-mode autoload lisp-mnt cus-edit cus-start cus-load
finder-inf transient vc-dir mailalias misearch multi-isearch shr-color
color timezone help-fns radix-tree cl-print nndoc gnus-dup crm
debbugs-gnu add-log debbugs soap-client rng-xsd rng-dt rng-util
xsd-regexp mule-util tramp-cmds vc-mtn vc-src vc-sccs vc-svn vc-cvs
vc-rcs eglot array filenotify jsonrpc ert pp ewoc debug backtrace xref
flymake-proc flymake warnings compile pcase project imenu vc-hg vc-bzr
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs vc-git bug-reference ediff ediff-merg ediff-mult
ediff-wind ediff-diff ediff-help ediff-init ediff-util dired-aux
time-stamp org-element avl-tree generator ol-eww ol-rmail ol-mhe ol-irc
ol-info ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe
ol-docview doc-view image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m org
org-macro org-footnote org-pcomplete org-list org-faces org-entities
noutline outline org-version ob-emacs-lisp org-table org-loaddefs
find-func cal-menu calendar cal-loaddefs smerge-mode diff diff-mode
easy-mmode flow-fill mm-archive eww xdg url-queue thingatpt mm-url
url-http url-gw url-auth gnus-gravatar gravatar dns url-cache sort
smiley gnus-cite mail-extr gnus-bcklg cl-extra help-mode gnus-async
gnus-ml disp-table qp pop3 utf-7 nndraft nnmh nnml gnutls network-stream
nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg
gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-cache gnus-sum
shr kinsoku svg dom nnnil smtpmail sendmail gnus-demon nntp gnus-group
gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message rmc
puny rfc822 mml mml-sec epa derived epg epg-config mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win
gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
text-property-search mail-utils mm-util mail-prsvr wid-edit edmacro
kmacro face-remap ob-shell ob ob-tangle ol org-src ob-ref ob-lob
ob-table ob-exp ob-comint ob-core ob-eval org-keys org-compat advice
org-macs vc vc-dispatcher cperl-mode rx time tramp-sh docker-tramp
kubernetes-tramp tramp-cache lxc-tramp lxd-tramp tramp tramp-loaddefs
trampver tramp-integration files-x tramp-compat shell pcomplete comint
ansi-color ring parse-time iso8601 time-date ls-lisp format-spec delsel
ido jka-compr icomplete paren dired dired-loaddefs info package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-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 facemenu
font-core term/tty-colors frame minibuffer cl-generic 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 charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)
Memory information:
((conses 16 3344516 732943)
(symbols 48 68684 8)
(strings 32 362188 107586)
(string-bytes 1 33629375)
(vectors 16 120564)
(vector-slots 8 2219605 351489)
(floats 8 706 4514)
(intervals 56 961009 6868)
(buffers 992 146))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48037
; Package
emacs
.
(Tue, 27 Apr 2021 04:11:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 48037 <at> debbugs.gnu.org (full text, mbox):
Michael Albinus <michael.albinus <at> gmx.de> writes:
> (defcustom add-log-current-defun-header-regexp
> - "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alpha:]]+\\)[ \t]*[:=]"
> + "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alnum:]]+\\)[ \t]*[:=]"
> "Heuristic regexp used by `add-log-current-defun' for unknown major modes.
This would also catch stuff like
2:
stage: slow
which looks like a false positive? So I think there should be some
alpha in there. Probably.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48037
; Package
emacs
.
(Tue, 27 Apr 2021 07:31:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 48037 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
Hi Lars,
>> (defcustom add-log-current-defun-header-regexp
>> - "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alpha:]]+\\)[ \t]*[:=]"
>> + "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alnum:]]+\\)[ \t]*[:=]"
>> "Heuristic regexp used by `add-log-current-defun' for unknown major modes.
>
> This would also catch stuff like
>
> 2:
> stage: slow
>
> which looks like a false positive? So I think there should be some
> alpha in there. Probably.
Yes. However, the existing regexp hits also entries like
-:
stage: slow
Looks also strange. So my proposal won't get worse. Remember,
add-log-current-defun-header-regexp is just a heuristic.
Alternatively, I could just give gitlab-ci.yml a file-local value for
this variable, and let the lions sleep :-)
Best regards, Michael.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48037
; Package
emacs
.
(Tue, 27 Apr 2021 07:35:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 48037 <at> debbugs.gnu.org (full text, mbox):
Michael Albinus <michael.albinus <at> gmx.de> writes:
>>> (defcustom add-log-current-defun-header-regexp
>>> - "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alpha:]]+\\)[ \t]*[:=]"
>>> + "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alnum:]]+\\)[ \t]*[:=]"
>>> "Heuristic regexp used by `add-log-current-defun' for unknown major modes.
[...]
> Yes. However, the existing regexp hits also entries like
>
> -:
> stage: slow
>
> Looks also strange. So my proposal won't get worse. Remember,
> add-log-current-defun-header-regexp is just a heuristic.
Sure, but why not improve the regexp at the same time? That is,
require at least one [:alpha:] for an identifier -- I think that's
pretty reasonable as heuristics go.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48037
; Package
emacs
.
(Tue, 27 Apr 2021 07:56:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 48037 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
Hi Lars,
>
>>>> (defcustom add-log-current-defun-header-regexp
>>>> - "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alpha:]]+\\)[ \t]*[:=]"
>>>> + "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alnum:]]+\\)[ \t]*[:=]"
>>>> "Heuristic regexp used by `add-log-current-defun' for unknown major modes.
>
> [...]
>
>> Yes. However, the existing regexp hits also entries like
>>
>> -:
>> stage: slow
>>
>> Looks also strange. So my proposal won't get worse. Remember,
>> add-log-current-defun-header-regexp is just a heuristic.
>
> Sure, but why not improve the regexp at the same time? That is,
> require at least one [:alpha:] for an identifier -- I think that's
> pretty reasonable as heuristics go.
Wouldn't this be too complex for a simple heuristic? Something like
"^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alnum:]]*[[:alpha:]][-_[:alnum:]]*\\)[ \t]*[:=]"
Note, that this regexp still doesn't fit all entries in gitlab-ci.yml,
for example entries with a dot, like '.job-template:'.
Best regards, Michael.
Reply sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
You have taken responsibility.
(Tue, 27 Apr 2021 10:32:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
bug acknowledged by developer.
(Tue, 27 Apr 2021 10:32:01 GMT)
Full text and
rfc822 format available.
Message #22 received at 48037-done <at> debbugs.gnu.org (full text, mbox):
> Note, that this regexp still doesn't fit all entries in gitlab-ci.yml,
> for example entries with a dot, like '.job-template:'.
I've added add-log-current-defun-header-regexp as file-local variable to
gitlab-ci.yml. Closing the bug.
Best regards, Michael.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48037
; Package
emacs
.
(Tue, 27 Apr 2021 23:19:01 GMT)
Full text and
rfc822 format available.
Message #25 received at 48037 <at> debbugs.gnu.org (full text, mbox):
Michael Albinus <michael.albinus <at> gmx.de> writes:
> Wouldn't this be too complex for a simple heuristic? Something like
>
> "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alnum:]]*[[:alpha:]][-_[:alnum:]]*\\)[ \t]*[:=]"
If I'm reading that right, it looks like an improvement to the
heuristics to me.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48037
; Package
emacs
.
(Wed, 28 Apr 2021 08:08:01 GMT)
Full text and
rfc822 format available.
Message #28 received at 48037 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
>> Wouldn't this be too complex for a simple heuristic? Something like
>>
>> "^\\([[:upper:]][[:upper:]_ ]*[[:upper:]_]\\|[-_[:alnum:]]*[[:alpha:]][-_[:alnum:]]*\\)[ \t]*[:=]"
>
> If I'm reading that right, it looks like an improvement to the
> heuristics to me.
OK, so I've pushed this to master.
Best regards, Michael.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 26 May 2021 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 21 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.