* bug#48037: 28.0.50; add-change-log-entry does not detect name with digit
@ 2021-04-26 15:49 Michael Albinus
2021-04-27 4:09 ` Lars Ingebrigtsen
0 siblings, 1 reply; 8+ messages in thread
From: Michael Albinus @ 2021-04-26 15:49 UTC (permalink / raw)
To: 48037
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)))
\f
(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))
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#48037: 28.0.50; add-change-log-entry does not detect name with digit
2021-04-26 15:49 bug#48037: 28.0.50; add-change-log-entry does not detect name with digit Michael Albinus
@ 2021-04-27 4:09 ` Lars Ingebrigtsen
2021-04-27 7:30 ` Michael Albinus
0 siblings, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2021-04-27 4:09 UTC (permalink / raw)
To: Michael Albinus; +Cc: 48037
Michael Albinus <michael.albinus@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
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#48037: 28.0.50; add-change-log-entry does not detect name with digit
2021-04-27 4:09 ` Lars Ingebrigtsen
@ 2021-04-27 7:30 ` Michael Albinus
2021-04-27 7:34 ` Lars Ingebrigtsen
0 siblings, 1 reply; 8+ messages in thread
From: Michael Albinus @ 2021-04-27 7:30 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 48037
Lars Ingebrigtsen <larsi@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.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#48037: 28.0.50; add-change-log-entry does not detect name with digit
2021-04-27 7:30 ` Michael Albinus
@ 2021-04-27 7:34 ` Lars Ingebrigtsen
2021-04-27 7:55 ` Michael Albinus
0 siblings, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2021-04-27 7:34 UTC (permalink / raw)
To: Michael Albinus; +Cc: 48037
Michael Albinus <michael.albinus@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
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#48037: 28.0.50; add-change-log-entry does not detect name with digit
2021-04-27 7:34 ` Lars Ingebrigtsen
@ 2021-04-27 7:55 ` Michael Albinus
2021-04-27 10:31 ` Michael Albinus
2021-04-27 23:17 ` Lars Ingebrigtsen
0 siblings, 2 replies; 8+ messages in thread
From: Michael Albinus @ 2021-04-27 7:55 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 48037
Lars Ingebrigtsen <larsi@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.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#48037: 28.0.50; add-change-log-entry does not detect name with digit
2021-04-27 7:55 ` Michael Albinus
@ 2021-04-27 10:31 ` Michael Albinus
2021-04-27 23:17 ` Lars Ingebrigtsen
1 sibling, 0 replies; 8+ messages in thread
From: Michael Albinus @ 2021-04-27 10:31 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 48037-done
> 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.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#48037: 28.0.50; add-change-log-entry does not detect name with digit
2021-04-27 7:55 ` Michael Albinus
2021-04-27 10:31 ` Michael Albinus
@ 2021-04-27 23:17 ` Lars Ingebrigtsen
2021-04-28 8:07 ` Michael Albinus
1 sibling, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2021-04-27 23:17 UTC (permalink / raw)
To: Michael Albinus; +Cc: 48037
Michael Albinus <michael.albinus@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
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#48037: 28.0.50; add-change-log-entry does not detect name with digit
2021-04-27 23:17 ` Lars Ingebrigtsen
@ 2021-04-28 8:07 ` Michael Albinus
0 siblings, 0 replies; 8+ messages in thread
From: Michael Albinus @ 2021-04-28 8:07 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 48037
Lars Ingebrigtsen <larsi@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.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-04-28 8:07 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-26 15:49 bug#48037: 28.0.50; add-change-log-entry does not detect name with digit Michael Albinus
2021-04-27 4:09 ` Lars Ingebrigtsen
2021-04-27 7:30 ` Michael Albinus
2021-04-27 7:34 ` Lars Ingebrigtsen
2021-04-27 7:55 ` Michael Albinus
2021-04-27 10:31 ` Michael Albinus
2021-04-27 23:17 ` Lars Ingebrigtsen
2021-04-28 8:07 ` Michael Albinus
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).