* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." @ 2024-01-27 13:25 Titus Müller 2024-01-27 18:39 ` Eli Zaretskii 0 siblings, 1 reply; 12+ messages in thread From: Titus Müller @ 2024-01-27 13:25 UTC (permalink / raw) To: 68762 When I use (thing-at-point 'email) and point is on an e-mail adress like my.name@website.com, thing-at-point only gets name@website.com and loses the first part before the "." character. This happens after I upgraded from 29.1 to emacs 30.0.50. Thank you for looking into this! Best regards Titus In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.18.0) of 2024-01-23 built on Zenbook-Titus Repository revision: 13c7249105ec0d1a070c6d4e9f73f3c21d905bc8 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101007 System Description: Ubuntu 23.10 Configured using: 'configure --prefix=/usr/local --without-compress-install --with-native-compilation --with-mailutils --with-xml2 --with-x-toolkit=gtk3 --with-xwidgets --with-rsvg' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB Important settings: value of $LC_MONETARY: de_DE.UTF-8 value of $LC_NUMERIC: de_DE.UTF-8 value of $LC_TIME: de_DE.UTF-8 value of $LANG: de_DE.UTF-8 locale-coding-system: utf-8-unix Major mode: Outline Minor modes in effect: dired-recent-mode: t dired-hist-mode: t treemacs-icons-dired-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t mu4e-column-faces-mode: t mu4e-modeline-mode: t emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t marginalia-mode: t vertico-multiform-mode: t vertico-mode: t undo-fu-session-global-mode: t undo-fu-session-mode: t point-history-mode: t recentf-mode: t delete-selection-mode: t org-super-agenda-mode: t typo-mode: t display-time-mode: t spacious-padding-mode: t override-global-mode: t olivetti-mode: t buffer-face-mode: t global-subword-mode: t subword-mode: t save-place-mode: t savehist-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t minibuffer-regexp-mode: t line-number-mode: t global-visual-line-mode: t visual-line-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t Load-path shadows: ~/.emacs.d/themes/doom-solarized-light-theme hides /home/titus/.emacs.d/elpa/doom-themes-20230221.610/doom-solarized-light-theme ~/.emacs.d/themes/doom-themes hides /home/titus/.emacs.d/elpa/doom-themes-20230221.610/doom-themes ~/.emacs.d/themes/doom-themes-base hides /home/titus/.emacs.d/elpa/doom-themes-20230221.610/doom-themes-base /home/titus/.emacs.d/lisp/iflipb/iflipb hides /home/titus/.emacs.d/elpa/iflipb-20220612.858/iflipb /home/titus/.emacs.d/elpa/transient-20231030.1943/transient hides /usr/local/share/emacs/30.0.50/lisp/transient /home/titus/.emacs.d/elpa/bind-key-20221209.2013/bind-key hides /usr/local/share/emacs/30.0.50/lisp/bind-key /home/titus/.emacs.d/elpa/use-package-20221209.2013/use-package-ensure hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-ensure /home/titus/.emacs.d/elpa/use-package-20221209.2013/use-package hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package /home/titus/.emacs.d/elpa/use-package-20221209.2013/use-package-delight hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-delight /home/titus/.emacs.d/elpa/use-package-20221209.2013/use-package-jump hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-jump /home/titus/.emacs.d/elpa/use-package-20221209.2013/use-package-core hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-core /home/titus/.emacs.d/elpa/use-package-20221209.2013/use-package-lint hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-lint /home/titus/.emacs.d/elpa/use-package-20221209.2013/use-package-diminish hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-diminish /home/titus/.emacs.d/elpa/use-package-20221209.2013/use-package-bind-key hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-bind-key /home/titus/.emacs.d/elpa/org-9.6.17/ob-sass hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sass /home/titus/.emacs.d/elpa/org-9.6.17/ob-R hides /usr/local/share/emacs/30.0.50/lisp/org/ob-R /home/titus/.emacs.d/elpa/org-9.6.17/ol-mhe hides /usr/local/share/emacs/30.0.50/lisp/org/ol-mhe /home/titus/.emacs.d/elpa/org-9.6.17/ol-eshell hides /usr/local/share/emacs/30.0.50/lisp/org/ol-eshell /home/titus/.emacs.d/elpa/org-9.6.17/ob-ruby hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ruby /home/titus/.emacs.d/elpa/org-9.6.17/org-archive hides /usr/local/share/emacs/30.0.50/lisp/org/org-archive /home/titus/.emacs.d/elpa/org-9.6.17/ob-lisp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lisp /home/titus/.emacs.d/elpa/org-9.6.17/org-element hides /usr/local/share/emacs/30.0.50/lisp/org/org-element /home/titus/.emacs.d/elpa/org-9.6.17/ol-w3m hides /usr/local/share/emacs/30.0.50/lisp/org/ol-w3m /home/titus/.emacs.d/elpa/org-9.6.17/org-colview hides /usr/local/share/emacs/30.0.50/lisp/org/org-colview /home/titus/.emacs.d/elpa/org-9.6.17/org-pcomplete hides /usr/local/share/emacs/30.0.50/lisp/org/org-pcomplete /home/titus/.emacs.d/elpa/org-9.6.17/oc-natbib hides /usr/local/share/emacs/30.0.50/lisp/org/oc-natbib /home/titus/.emacs.d/elpa/org-9.6.17/ol-bibtex hides /usr/local/share/emacs/30.0.50/lisp/org/ol-bibtex /home/titus/.emacs.d/elpa/org-9.6.17/org-fold-core hides /usr/local/share/emacs/30.0.50/lisp/org/org-fold-core /home/titus/.emacs.d/elpa/org-9.6.17/org-goto hides /usr/local/share/emacs/30.0.50/lisp/org/org-goto /home/titus/.emacs.d/elpa/org-9.6.17/ob-groovy hides /usr/local/share/emacs/30.0.50/lisp/org/ob-groovy /home/titus/.emacs.d/elpa/org-9.6.17/org-num hides /usr/local/share/emacs/30.0.50/lisp/org/org-num /home/titus/.emacs.d/elpa/org-9.6.17/ob-octave hides /usr/local/share/emacs/30.0.50/lisp/org/ob-octave /home/titus/.emacs.d/elpa/org-9.6.17/ob-css hides /usr/local/share/emacs/30.0.50/lisp/org/ob-css /home/titus/.emacs.d/elpa/org-9.6.17/org-id hides /usr/local/share/emacs/30.0.50/lisp/org/org-id /home/titus/.emacs.d/elpa/org-9.6.17/org-feed hides /usr/local/share/emacs/30.0.50/lisp/org/org-feed /home/titus/.emacs.d/elpa/org-9.6.17/ob-lob hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lob /home/titus/.emacs.d/elpa/org-9.6.17/ol-eww hides /usr/local/share/emacs/30.0.50/lisp/org/ol-eww /home/titus/.emacs.d/elpa/org-9.6.17/ox-publish hides /usr/local/share/emacs/30.0.50/lisp/org/ox-publish /home/titus/.emacs.d/elpa/org-9.6.17/org-footnote hides /usr/local/share/emacs/30.0.50/lisp/org/org-footnote /home/titus/.emacs.d/elpa/org-9.6.17/org-version hides /usr/local/share/emacs/30.0.50/lisp/org/org-version /home/titus/.emacs.d/elpa/org-9.6.17/org-entities hides /usr/local/share/emacs/30.0.50/lisp/org/org-entities /home/titus/.emacs.d/elpa/org-9.6.17/ob-dot hides /usr/local/share/emacs/30.0.50/lisp/org/ob-dot /home/titus/.emacs.d/elpa/org-9.6.17/ox-texinfo hides /usr/local/share/emacs/30.0.50/lisp/org/ox-texinfo /home/titus/.emacs.d/elpa/org-9.6.17/ol-irc hides /usr/local/share/emacs/30.0.50/lisp/org/ol-irc /home/titus/.emacs.d/elpa/org-9.6.17/org-mouse hides /usr/local/share/emacs/30.0.50/lisp/org/org-mouse /home/titus/.emacs.d/elpa/org-9.6.17/ol-doi hides /usr/local/share/emacs/30.0.50/lisp/org/ol-doi /home/titus/.emacs.d/elpa/org-9.6.17/ob-plantuml hides /usr/local/share/emacs/30.0.50/lisp/org/ob-plantuml /home/titus/.emacs.d/elpa/org-9.6.17/ob-shell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-shell /home/titus/.emacs.d/elpa/org-9.6.17/ob-tangle hides /usr/local/share/emacs/30.0.50/lisp/org/ob-tangle /home/titus/.emacs.d/elpa/org-9.6.17/org-inlinetask hides /usr/local/share/emacs/30.0.50/lisp/org/org-inlinetask /home/titus/.emacs.d/elpa/org-9.6.17/org-loaddefs hides /usr/local/share/emacs/30.0.50/lisp/org/org-loaddefs /home/titus/.emacs.d/elpa/org-9.6.17/ob-js hides /usr/local/share/emacs/30.0.50/lisp/org/ob-js /home/titus/.emacs.d/elpa/org-9.6.17/ob-ocaml hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ocaml /home/titus/.emacs.d/elpa/org-9.6.17/org-capture hides /usr/local/share/emacs/30.0.50/lisp/org/org-capture /home/titus/.emacs.d/elpa/org-9.6.17/org-macs hides /usr/local/share/emacs/30.0.50/lisp/org/org-macs /home/titus/.emacs.d/elpa/org-9.6.17/ob-fortran hides /usr/local/share/emacs/30.0.50/lisp/org/ob-fortran /home/titus/.emacs.d/elpa/org-9.6.17/ob-screen hides /usr/local/share/emacs/30.0.50/lisp/org/ob-screen /home/titus/.emacs.d/elpa/org-9.6.17/ob-haskell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-haskell /home/titus/.emacs.d/elpa/org-9.6.17/ol-rmail hides /usr/local/share/emacs/30.0.50/lisp/org/ol-rmail /home/titus/.emacs.d/elpa/org-9.6.17/ob-scheme hides /usr/local/share/emacs/30.0.50/lisp/org/ob-scheme /home/titus/.emacs.d/elpa/org-9.6.17/ob-exp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-exp /home/titus/.emacs.d/elpa/org-9.6.17/ob-forth hides /usr/local/share/emacs/30.0.50/lisp/org/ob-forth /home/titus/.emacs.d/elpa/org-9.6.17/oc-biblatex hides /usr/local/share/emacs/30.0.50/lisp/org/oc-biblatex /home/titus/.emacs.d/elpa/org-9.6.17/ob-processing hides /usr/local/share/emacs/30.0.50/lisp/org/ob-processing /home/titus/.emacs.d/elpa/org-9.6.17/ox-beamer hides /usr/local/share/emacs/30.0.50/lisp/org/ox-beamer /home/titus/.emacs.d/elpa/org-9.6.17/ox-html hides /usr/local/share/emacs/30.0.50/lisp/org/ox-html /home/titus/.emacs.d/elpa/org-9.6.17/ob-table hides /usr/local/share/emacs/30.0.50/lisp/org/ob-table /home/titus/.emacs.d/elpa/org-9.6.17/ol-man hides /usr/local/share/emacs/30.0.50/lisp/org/ol-man /home/titus/.emacs.d/elpa/org-9.6.17/ox-man hides /usr/local/share/emacs/30.0.50/lisp/org/ox-man /home/titus/.emacs.d/elpa/org-9.6.17/ol-info hides /usr/local/share/emacs/30.0.50/lisp/org/ol-info /home/titus/.emacs.d/elpa/org-9.6.17/ob-emacs-lisp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-emacs-lisp /home/titus/.emacs.d/elpa/org-9.6.17/org-refile hides /usr/local/share/emacs/30.0.50/lisp/org/org-refile /home/titus/.emacs.d/elpa/org-9.6.17/ob-java hides /usr/local/share/emacs/30.0.50/lisp/org/ob-java /home/titus/.emacs.d/elpa/org-9.6.17/ob-sed hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sed /home/titus/.emacs.d/elpa/org-9.6.17/ob-comint hides /usr/local/share/emacs/30.0.50/lisp/org/ob-comint /home/titus/.emacs.d/elpa/org-9.6.17/org-cycle hides /usr/local/share/emacs/30.0.50/lisp/org/org-cycle /home/titus/.emacs.d/elpa/org-9.6.17/ob-C hides /usr/local/share/emacs/30.0.50/lisp/org/ob-C /home/titus/.emacs.d/elpa/org-9.6.17/ob-perl hides /usr/local/share/emacs/30.0.50/lisp/org/ob-perl /home/titus/.emacs.d/elpa/org-9.6.17/ox-koma-letter hides /usr/local/share/emacs/30.0.50/lisp/org/ox-koma-letter /home/titus/.emacs.d/elpa/org-9.6.17/ox-md hides /usr/local/share/emacs/30.0.50/lisp/org/ox-md /home/titus/.emacs.d/elpa/org-9.6.17/org-keys hides /usr/local/share/emacs/30.0.50/lisp/org/org-keys /home/titus/.emacs.d/elpa/org-9.6.17/org hides /usr/local/share/emacs/30.0.50/lisp/org/org /home/titus/.emacs.d/elpa/org-9.6.17/ob-eval hides /usr/local/share/emacs/30.0.50/lisp/org/ob-eval /home/titus/.emacs.d/elpa/org-9.6.17/ob-sqlite hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sqlite /home/titus/.emacs.d/elpa/org-9.6.17/ob-latex hides /usr/local/share/emacs/30.0.50/lisp/org/ob-latex /home/titus/.emacs.d/elpa/org-9.6.17/ob-sql hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sql /home/titus/.emacs.d/elpa/org-9.6.17/org-compat hides /usr/local/share/emacs/30.0.50/lisp/org/org-compat /home/titus/.emacs.d/elpa/org-9.6.17/ol-bbdb hides /usr/local/share/emacs/30.0.50/lisp/org/ol-bbdb /home/titus/.emacs.d/elpa/org-9.6.17/org-list hides /usr/local/share/emacs/30.0.50/lisp/org/org-list /home/titus/.emacs.d/elpa/org-9.6.17/org-table hides /usr/local/share/emacs/30.0.50/lisp/org/org-table /home/titus/.emacs.d/elpa/org-9.6.17/org-src hides /usr/local/share/emacs/30.0.50/lisp/org/org-src /home/titus/.emacs.d/elpa/org-9.6.17/org-duration hides /usr/local/share/emacs/30.0.50/lisp/org/org-duration /home/titus/.emacs.d/elpa/org-9.6.17/ob-lilypond hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lilypond /home/titus/.emacs.d/elpa/org-9.6.17/org-lint hides /usr/local/share/emacs/30.0.50/lisp/org/org-lint /home/titus/.emacs.d/elpa/org-9.6.17/org-tempo hides /usr/local/share/emacs/30.0.50/lisp/org/org-tempo /home/titus/.emacs.d/elpa/org-9.6.17/ox-ascii hides /usr/local/share/emacs/30.0.50/lisp/org/ox-ascii /home/titus/.emacs.d/elpa/org-9.6.17/org-clock hides /usr/local/share/emacs/30.0.50/lisp/org/org-clock /home/titus/.emacs.d/elpa/org-9.6.17/org-persist hides /usr/local/share/emacs/30.0.50/lisp/org/org-persist /home/titus/.emacs.d/elpa/org-9.6.17/org-protocol hides /usr/local/share/emacs/30.0.50/lisp/org/org-protocol /home/titus/.emacs.d/elpa/org-9.6.17/org-agenda hides /usr/local/share/emacs/30.0.50/lisp/org/org-agenda /home/titus/.emacs.d/elpa/org-9.6.17/ob-awk hides /usr/local/share/emacs/30.0.50/lisp/org/ob-awk /home/titus/.emacs.d/elpa/org-9.6.17/oc-csl hides /usr/local/share/emacs/30.0.50/lisp/org/oc-csl /home/titus/.emacs.d/elpa/org-9.6.17/ob-eshell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-eshell /home/titus/.emacs.d/elpa/org-9.6.17/ol hides /usr/local/share/emacs/30.0.50/lisp/org/ol /home/titus/.emacs.d/elpa/org-9.6.17/ob-core hides /usr/local/share/emacs/30.0.50/lisp/org/ob-core /home/titus/.emacs.d/elpa/org-9.6.17/org-attach hides /usr/local/share/emacs/30.0.50/lisp/org/org-attach /home/titus/.emacs.d/elpa/org-9.6.17/org-faces hides /usr/local/share/emacs/30.0.50/lisp/org/org-faces /home/titus/.emacs.d/elpa/org-9.6.17/ob-makefile hides /usr/local/share/emacs/30.0.50/lisp/org/ob-makefile /home/titus/.emacs.d/elpa/org-9.6.17/ox hides /usr/local/share/emacs/30.0.50/lisp/org/ox /home/titus/.emacs.d/elpa/org-9.6.17/org-fold hides /usr/local/share/emacs/30.0.50/lisp/org/org-fold /home/titus/.emacs.d/elpa/org-9.6.17/ox-org hides /usr/local/share/emacs/30.0.50/lisp/org/ox-org /home/titus/.emacs.d/elpa/org-9.6.17/org-ctags hides /usr/local/share/emacs/30.0.50/lisp/org/org-ctags /home/titus/.emacs.d/elpa/org-9.6.17/org-macro hides /usr/local/share/emacs/30.0.50/lisp/org/org-macro /home/titus/.emacs.d/elpa/org-9.6.17/ob-ref hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ref /home/titus/.emacs.d/elpa/org-9.6.17/ob hides /usr/local/share/emacs/30.0.50/lisp/org/ob /home/titus/.emacs.d/elpa/org-9.6.17/ob-org hides /usr/local/share/emacs/30.0.50/lisp/org/ob-org /home/titus/.emacs.d/elpa/org-9.6.17/org-attach-git hides /usr/local/share/emacs/30.0.50/lisp/org/org-attach-git /home/titus/.emacs.d/elpa/org-9.6.17/ob-calc hides /usr/local/share/emacs/30.0.50/lisp/org/ob-calc /home/titus/.emacs.d/elpa/org-9.6.17/ox-odt hides /usr/local/share/emacs/30.0.50/lisp/org/ox-odt /home/titus/.emacs.d/elpa/org-9.6.17/org-crypt hides /usr/local/share/emacs/30.0.50/lisp/org/org-crypt /home/titus/.emacs.d/elpa/org-9.6.17/oc-bibtex hides /usr/local/share/emacs/30.0.50/lisp/org/oc-bibtex /home/titus/.emacs.d/elpa/org-9.6.17/ol-docview hides /usr/local/share/emacs/30.0.50/lisp/org/ol-docview /home/titus/.emacs.d/elpa/org-9.6.17/ob-matlab hides /usr/local/share/emacs/30.0.50/lisp/org/ob-matlab /home/titus/.emacs.d/elpa/org-9.6.17/ob-julia hides /usr/local/share/emacs/30.0.50/lisp/org/ob-julia /home/titus/.emacs.d/elpa/org-9.6.17/ob-clojure hides /usr/local/share/emacs/30.0.50/lisp/org/ob-clojure /home/titus/.emacs.d/elpa/org-9.6.17/ob-python hides /usr/local/share/emacs/30.0.50/lisp/org/ob-python /home/titus/.emacs.d/elpa/org-9.6.17/ob-lua hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lua /home/titus/.emacs.d/elpa/org-9.6.17/ox-latex hides /usr/local/share/emacs/30.0.50/lisp/org/ox-latex /home/titus/.emacs.d/elpa/org-9.6.17/org-habit hides /usr/local/share/emacs/30.0.50/lisp/org/org-habit /home/titus/.emacs.d/elpa/org-9.6.17/org-plot hides /usr/local/share/emacs/30.0.50/lisp/org/org-plot /home/titus/.emacs.d/elpa/org-9.6.17/ob-gnuplot hides /usr/local/share/emacs/30.0.50/lisp/org/ob-gnuplot /home/titus/.emacs.d/elpa/org-9.6.17/org-indent hides /usr/local/share/emacs/30.0.50/lisp/org/org-indent /home/titus/.emacs.d/elpa/org-9.6.17/org-datetree hides /usr/local/share/emacs/30.0.50/lisp/org/org-datetree /home/titus/.emacs.d/elpa/org-9.6.17/ox-icalendar hides /usr/local/share/emacs/30.0.50/lisp/org/ox-icalendar /home/titus/.emacs.d/elpa/org-9.6.17/ol-gnus hides /usr/local/share/emacs/30.0.50/lisp/org/ol-gnus /home/titus/.emacs.d/elpa/org-9.6.17/org-mobile hides /usr/local/share/emacs/30.0.50/lisp/org/org-mobile /home/titus/.emacs.d/elpa/org-9.6.17/ob-maxima hides /usr/local/share/emacs/30.0.50/lisp/org/ob-maxima /home/titus/.emacs.d/elpa/org-9.6.17/oc hides /usr/local/share/emacs/30.0.50/lisp/org/oc /home/titus/.emacs.d/elpa/org-9.6.17/org-timer hides /usr/local/share/emacs/30.0.50/lisp/org/org-timer /home/titus/.emacs.d/elpa/org-9.6.17/ob-ditaa hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ditaa /home/titus/.emacs.d/elpa/org-9.6.17/oc-basic hides /usr/local/share/emacs/30.0.50/lisp/org/oc-basic Features: (shadow emacsbug network-stream url-http url-gw nsm url-auth gnus-cite smiley url-cache shr-color mm-archive mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check qp org-ql-find org-ql-completing-read org-ql-search org-ql-view transient ov crm compile consult-imenu consult-dir consult-org consult goto-chg cus-start org-superstar org-indent oc-basic ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview doc-view image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi dired-recent dired-hist vertico-grid iflipb dired-narrow dired-open dired-hacks-utils dired-x wdired diredfl dired-aux treemacs-icons-dired treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-tags xref project treemacs-interface treemacs-persistence treemacs-filewatch-mode filenotify treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator treemacs-scope pulse treemacs-faces treemacs-icons treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros misearch multi-isearch shortdoc vertico-directory help-fns radix-tree org-auto-tangle ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox async jka-compr org-ql peg org-duration dired-toggle-sudo gnus-dired mu4e-column-faces org-contacts org-capture mu4e mu4e-org mu4e-notification notifications mu4e-main mu4e-view gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range mu4e-headers mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg dom flow-fill mule-util mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window ido message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev gmm-utils mu4e-obsolete inline switch-buffer-functions hl-line ct hsluv color request mailheader mail-utils pass f f-shortdoc imenu password-store with-editor server auth-source-pass emms-mpris pcase dbus emms-librefm-stream xml emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams emms-show-all emms-tag-editor emms-tag-tracktag emms-mark emms-mode-line emms-cache emms-info-native emms-info-native-spc emms-info-native-mp3 emms-info-native-ogg emms-info-native-opus emms-info-native-flac emms-info-native-vorbis bindat emms-info-exiftool emms-info-tinytag emms-info-metaflac emms-info-opusinfo emms-info-ogginfo emms-playlist-mode emms-player-vlc emms-player-mpv emms-playing-time emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file thingatpt locate dired dired-loaddefs emms-history emms-info-mp3info emms-info emms-later-do emms-setup emms emms-compat derived ob-gnuplot orderless marginalia vertico-multiform vertico compat ls-lisp undo-fu-session display-line-numbers bookmark text-property-search point-history popwin recentf tree-widget delsel org-super-agenda ts ht s dash org-habit org-agenda org-element org-persist org-id avl-tree generator org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities disp-table noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs advice find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs hydra lv typo time spacious-padding mixed-pitch use-package-ensure modus-vivendi-tritanopia-theme modus-operandi-tritanopia-theme modus-vivendi-deuteranopia-theme modus-operandi-deuteranopia-theme modus-vivendi-tinted-theme modus-operandi-tinted-theme modus-vivendi-theme modus-operandi-theme cus-edit pp cus-load wid-edit modus-themes edmacro kmacro use-package-bind-key bind-key easy-mmode use-package-core olivetti face-remap cap-words superword subword comp comp-cstr cl-extra warnings icons comp-run comp-common saveplace tramp-sh tramp rx trampver tramp-integration files-x tramp-message help-mode tramp-compat xdg shell pcomplete comint ansi-osc ring parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs savehist finder-inf all-the-icons-autoloads biome-autoloads consult-autoloads deft-autoloads diredfl-autoloads doom-themes-autoloads emms-autoloads google-translate-autoloads goto-last-change-autoloads marginalia-autoloads olivetti-autoloads orderless-autoloads async-autoloads org-contacts-autoloads org-ql-autoloads org-super-agenda-autoloads org-superstar-autoloads org-web-tools-autoloads esxml-autoloads kv-autoloads org-autoloads ov-autoloads pass-autoloads password-store-autoloads pdf-tools-autoloads peg-autoloads plz-autoloads popup-autoloads spacious-padding-autoloads tablist-autoloads transient-autoloads undo-fu-session-autoloads vertico-autoloads info compat-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 cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen 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 xwidget-internal dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 4417324 369181) (symbols 48 63254 42) (strings 32 802022 39380) (string-bytes 1 13189284) (vectors 16 106559) (vector-slots 8 2113101 186917) (floats 8 1030 15805) (intervals 56 169453 4765) (buffers 976 35)) ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-01-27 13:25 bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." Titus Müller @ 2024-01-27 18:39 ` Eli Zaretskii 2024-01-27 20:42 ` Titus Müller 2024-01-28 5:58 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 2 replies; 12+ messages in thread From: Eli Zaretskii @ 2024-01-27 18:39 UTC (permalink / raw) To: Titus Müller, Philip Kaludercic; +Cc: 68762 > From: Titus Müller <mail@titusmueller.de> > Date: Sat, 27 Jan 2024 14:25:08 +0100 > > > When I use (thing-at-point 'email) and point is on an e-mail adress like my.name@website.com, thing-at-point only gets name@website.com and loses the first part before the "." character. This happens after I upgraded from 29.1 to emacs 30.0.50. Philip, is this because of the changes in commit ff20898dad? Could you please look into this? ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-01-27 18:39 ` Eli Zaretskii @ 2024-01-27 20:42 ` Titus Müller 2024-01-28 5:58 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 0 replies; 12+ messages in thread From: Titus Müller @ 2024-01-27 20:42 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Philip Kaludercic, 68762 Thank you so much. It only happens when point is on the part after the "." character in my.name@website.com. If point is on "my", all of the mail address is received by thing-at-point. (And 68762@debbugs.gnu.org is no problem at all, so it only concerns "." characters before the @ symbol.) If I can be of any help, do a test or something else, please tell me. I'm no programmer though, regrettably. Thank you for all your wonderful emacs-work! Titus ----- Ursprüngliche Nachricht vom 27.01.2024 ----- >> From: Titus Müller <mail@titusmueller.de> >> Date: Sat, 27 Jan 2024 14:25:08 +0100 >> >> >> When I use (thing-at-point 'email) and point is on an e-mail adress >> like my.name@website.com, thing-at-point only gets name@website.com >> and loses the first part before the "." character. This happens >> after I upgraded from 29.1 to emacs 30.0.50. > > Philip, is this because of the changes in commit ff20898dad? > > Could you please look into this? ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-01-27 18:39 ` Eli Zaretskii 2024-01-27 20:42 ` Titus Müller @ 2024-01-28 5:58 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-01-28 7:11 ` Eli Zaretskii 1 sibling, 1 reply; 12+ messages in thread From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-28 5:58 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Philip Kaludercic, Titus Müller, 68762 Eli Zaretskii <eliz@gnu.org> writes: >> From: Titus Müller <mail@titusmueller.de> >> Date: Sat, 27 Jan 2024 14:25:08 +0100 >> >> >> When I use (thing-at-point 'email) and point is on an e-mail adress >> like my.name@website.com, thing-at-point only gets name@website.com >> and loses the first part before the "." character. This happens >> after I upgraded from 29.1 to emacs 30.0.50. > > Philip, is this because of the changes in commit ff20898dad? > > Could you please look into this? FWIW, AFAICT this is introduced by 03cfede8f0 (which fixed Bug#61519). I think the real issue resides in `thing-at-point-looking-at`, though: It stops extending the match backwards when it first encounters a non-match. The following change solves this for me, and keeps all the tests happy: diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el index 323d3d1cf6c..6f7532f9b0f 100644 --- a/lisp/thingatpt.el +++ b/lisp/thingatpt.el @@ -621,34 +621,22 @@ thing-at-point-looking-at back from point." (save-excursion (let ((old-point (point)) - (forward-bound (and distance (+ (point) distance))) - (backward-bound (and distance (- (point) distance))) - match prev-pos new-pos) - (and (looking-at regexp) - (>= (match-end 0) old-point) - (setq match (point))) - ;; Search back repeatedly from end of next match. - ;; This may fail if next match ends before this match does. - (re-search-forward regexp forward-bound 'limit) - (setq prev-pos (point)) - (while (and (setq new-pos (re-search-backward regexp backward-bound t)) - ;; Avoid inflooping with some regexps, such as "^", - ;; matching which never moves point. - (< new-pos prev-pos) - (or (> (match-beginning 0) old-point) - (and (looking-at regexp) ; Extend match-end past search start - (>= (match-end 0) old-point) - (setq match (point)))))) - (if (not match) nil - (goto-char match) - ;; Back up a char at a time in case search skipped - ;; intermediate match straddling search start pos. - (while (and (not (bobp)) - (progn (backward-char 1) (looking-at regexp)) - (>= (match-end 0) old-point) - (setq match (point)))) - (goto-char match) - (looking-at regexp))))) + prev-point match) + (goto-char (if distance + (max (point-min) (- old-point distance)) + (point-min))) + (while (and (setq prev-point (point)) + (setq match + (re-search-forward regexp + (and distance + (min (point-max) + (+ old-point distance))) + t)) + (< (match-end 0) old-point)) + (unless (< prev-point (point)) + (forward-char))) + (and match (<= (match-beginning 0) old-point (match-end 0)))))) + ;; Email addresses (defvar thing-at-point-email-regexp ^ permalink raw reply related [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-01-28 5:58 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-28 7:11 ` Eli Zaretskii 2024-01-28 7:47 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 12+ messages in thread From: Eli Zaretskii @ 2024-01-28 7:11 UTC (permalink / raw) To: Eshel Yaron, Robert Pluim; +Cc: philipk, mail, 68762 > From: Eshel Yaron <me@eshelyaron.com> > Cc: Titus Müller <mail@titusmueller.de>, Philip Kaludercic > <philipk@posteo.net>, 68762@debbugs.gnu.org > Date: Sun, 28 Jan 2024 06:58:19 +0100 > > FWIW, AFAICT this is introduced by 03cfede8f0 (which fixed Bug#61519). > > I think the real issue resides in `thing-at-point-looking-at`, though: > It stops extending the match backwards when it first encounters a > non-match. The following change solves this for me, and keeps all the > tests happy: Thanks. Can you describe the main ideas of the change? Robert, any comments? ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-01-28 7:11 ` Eli Zaretskii @ 2024-01-28 7:47 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-01-29 9:05 ` Robert Pluim 0 siblings, 1 reply; 12+ messages in thread From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-28 7:47 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Robert Pluim, mail, philipk, 68762 Eli Zaretskii <eliz@gnu.org> writes: >> From: Eshel Yaron <me@eshelyaron.com> >> Cc: Titus Müller <mail@titusmueller.de>, Philip Kaludercic >> <philipk@posteo.net>, 68762@debbugs.gnu.org >> Date: Sun, 28 Jan 2024 06:58:19 +0100 >> >> FWIW, AFAICT this is introduced by 03cfede8f0 (which fixed Bug#61519). >> >> I think the real issue resides in `thing-at-point-looking-at`, though: >> It stops extending the match backwards when it first encounters a >> non-match. The following change solves this for me, and keeps all the >> tests happy: > > Thanks. Can you describe the main ideas of the change? Sure: the current implementation searches forward first, and then back, until it finds a match that contains point. It then extends the match backward character by character until it reaches a non-match. My change reverses the direction: start from some position before point and search forward until you find a match that contains point. This works better since "matching a regular expression at a given spot always works from beginning to end" (from Info node "(elisp) Regexp Search"). > Robert, any comments? ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-01-28 7:47 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-29 9:05 ` Robert Pluim 2024-01-29 12:41 ` Eli Zaretskii 0 siblings, 1 reply; 12+ messages in thread From: Robert Pluim @ 2024-01-29 9:05 UTC (permalink / raw) To: Eshel Yaron; +Cc: Eli Zaretskii, mail, philipk, 68762 >>>>> On Sun, 28 Jan 2024 08:47:49 +0100, Eshel Yaron <me@eshelyaron.com> said: Eshel> Eli Zaretskii <eliz@gnu.org> writes: >>> From: Eshel Yaron <me@eshelyaron.com> >>> Cc: Titus Müller <mail@titusmueller.de>, Philip Kaludercic >>> <philipk@posteo.net>, 68762@debbugs.gnu.org >>> Date: Sun, 28 Jan 2024 06:58:19 +0100 >>> >>> FWIW, AFAICT this is introduced by 03cfede8f0 (which fixed Bug#61519). >>> >>> I think the real issue resides in `thing-at-point-looking-at`, though: >>> It stops extending the match backwards when it first encounters a >>> non-match. The following change solves this for me, and keeps all the >>> tests happy: >> >> Thanks. Can you describe the main ideas of the change? Eshel> Sure: the current implementation searches forward first, and then back, Eshel> until it finds a match that contains point. It then extends the match Eshel> backward character by character until it reaches a non-match. My change Eshel> reverses the direction: start from some position before point and search Eshel> forward until you find a match that contains point. This works better Eshel> since "matching a regular expression at a given spot always works from Eshel> beginning to end" (from Info node "(elisp) Regexp Search"). >> Robert, any comments? Not really. It would be nice if the test suite could be extended to catch this. Robert -- ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-01-29 9:05 ` Robert Pluim @ 2024-01-29 12:41 ` Eli Zaretskii 2024-02-01 10:26 ` Eli Zaretskii 0 siblings, 1 reply; 12+ messages in thread From: Eli Zaretskii @ 2024-01-29 12:41 UTC (permalink / raw) To: Robert Pluim; +Cc: philipk, mail, me, 68762 > From: Robert Pluim <rpluim@gmail.com> > Cc: Eli Zaretskii <eliz@gnu.org>, mail@titusmueller.de, > philipk@posteo.net, 68762@debbugs.gnu.org > Date: Mon, 29 Jan 2024 10:05:17 +0100 > > >>>>> On Sun, 28 Jan 2024 08:47:49 +0100, Eshel Yaron <me@eshelyaron.com> said: > > >> Robert, any comments? > > Not really. It would be nice if the test suite could be extended to > catch this. Agreed. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-01-29 12:41 ` Eli Zaretskii @ 2024-02-01 10:26 ` Eli Zaretskii 2024-02-01 11:10 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 12+ messages in thread From: Eli Zaretskii @ 2024-02-01 10:26 UTC (permalink / raw) To: me; +Cc: rpluim, mail, philipk, 68762 > Cc: philipk@posteo.net, mail@titusmueller.de, me@eshelyaron.com, > 68762@debbugs.gnu.org > Date: Mon, 29 Jan 2024 14:41:02 +0200 > From: Eli Zaretskii <eliz@gnu.org> > > > From: Robert Pluim <rpluim@gmail.com> > > Cc: Eli Zaretskii <eliz@gnu.org>, mail@titusmueller.de, > > philipk@posteo.net, 68762@debbugs.gnu.org > > Date: Mon, 29 Jan 2024 10:05:17 +0100 > > > > >>>>> On Sun, 28 Jan 2024 08:47:49 +0100, Eshel Yaron <me@eshelyaron.com> said: > > > > >> Robert, any comments? > > > > Not really. It would be nice if the test suite could be extended to > > catch this. > > Agreed. Eshel, would you like to add some tests for this? TIA ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-02-01 10:26 ` Eli Zaretskii @ 2024-02-01 11:10 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-02-08 11:47 ` Eli Zaretskii 0 siblings, 1 reply; 12+ messages in thread From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-01 11:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rpluim, mail, philipk, 68762 [-- Attachment #1: Type: text/plain, Size: 1059 bytes --] Hi, Eli Zaretskii <eliz@gnu.org> writes: >> Cc: philipk@posteo.net, mail@titusmueller.de, me@eshelyaron.com, >> 68762@debbugs.gnu.org >> Date: Mon, 29 Jan 2024 14:41:02 +0200 >> From: Eli Zaretskii <eliz@gnu.org> >> >> > From: Robert Pluim <rpluim@gmail.com> >> > Cc: Eli Zaretskii <eliz@gnu.org>, mail@titusmueller.de, >> > philipk@posteo.net, 68762@debbugs.gnu.org >> > Date: Mon, 29 Jan 2024 10:05:17 +0100 >> > >> > >>>>> On Sun, 28 Jan 2024 08:47:49 +0100, Eshel Yaron <me@eshelyaron.com> said: >> > >> > >> Robert, any comments? >> > >> > Not really. It would be nice if the test suite could be extended to >> > catch this. >> >> Agreed. > > Eshel, would you like to add some tests for this? Sure, I'm attaching below a patch with a slightly cleaner implementation and a couple of tests. Note that this is a complete rewrite of a function that mostly haven't changed since 1997, so please give it a close look before installing, in case there's some use case that didn't occur to me and isn't covered by the existing tests. Best, Eshel [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Ensure-thing-at-point-looking-at-finds-full-match.patch --] [-- Type: text/x-patch, Size: 3432 bytes --] From 1f39f91adc9883e66191457789577173639b7d69 Mon Sep 17 00:00:00 2001 From: Eshel Yaron <me@eshelyaron.com> Date: Wed, 31 Jan 2024 21:37:18 +0100 Subject: [PATCH] ; Ensure 'thing-at-point-looking-at' finds full match * lisp/thingatpt.el (thing-at-point-looking-at): Regexp-search from the beginning forward, instead of the other way around. * test/lisp/thingatpt-tests.el (thing-at-point-test-data): Add tests. (Bug#68762) --- lisp/thingatpt.el | 43 +++++++++++------------------------- test/lisp/thingatpt-tests.el | 2 ++ 2 files changed, 15 insertions(+), 30 deletions(-) diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el index 323d3d1cf6c..b532bafff82 100644 --- a/lisp/thingatpt.el +++ b/lisp/thingatpt.el @@ -619,36 +619,19 @@ thing-at-point-looking-at Optional argument DISTANCE limits search for REGEXP forward and back from point." - (save-excursion - (let ((old-point (point)) - (forward-bound (and distance (+ (point) distance))) - (backward-bound (and distance (- (point) distance))) - match prev-pos new-pos) - (and (looking-at regexp) - (>= (match-end 0) old-point) - (setq match (point))) - ;; Search back repeatedly from end of next match. - ;; This may fail if next match ends before this match does. - (re-search-forward regexp forward-bound 'limit) - (setq prev-pos (point)) - (while (and (setq new-pos (re-search-backward regexp backward-bound t)) - ;; Avoid inflooping with some regexps, such as "^", - ;; matching which never moves point. - (< new-pos prev-pos) - (or (> (match-beginning 0) old-point) - (and (looking-at regexp) ; Extend match-end past search start - (>= (match-end 0) old-point) - (setq match (point)))))) - (if (not match) nil - (goto-char match) - ;; Back up a char at a time in case search skipped - ;; intermediate match straddling search start pos. - (while (and (not (bobp)) - (progn (backward-char 1) (looking-at regexp)) - (>= (match-end 0) old-point) - (setq match (point)))) - (goto-char match) - (looking-at regexp))))) + (let* ((old (point)) + (beg (if distance (max (point-min) (- old distance)) (point-min))) + (end (and distance (min (point-max) (+ old distance)))) + prev match) + (save-excursion + (goto-char beg) + (while (and (setq prev (point) + match (re-search-forward regexp end t)) + (< (match-end 0) old)) + ;; Avoid inflooping when `regexp' matches the empty string. + (unless (< prev (point)) (forward-char)))) + (and match (<= (match-beginning 0) old (match-end 0))))) + ;; Email addresses (defvar thing-at-point-email-regexp diff --git a/test/lisp/thingatpt-tests.el b/test/lisp/thingatpt-tests.el index ba51f375cc6..56bc4fdc9dc 100644 --- a/test/lisp/thingatpt-tests.el +++ b/test/lisp/thingatpt-tests.el @@ -92,6 +92,8 @@ thing-at-point-test-data ("1@example.com" 1 email "1@example.com") ;; email addresses user portion containing dots ("foo.bar@example.com" 1 email "foo.bar@example.com") + ("foo.bar@example.com" 5 email "foo.bar@example.com") + (" fo.ba@example.com" 6 email "fo.ba@example.com") (".foobar@example.com" 1 email nil) (".foobar@example.com" 2 email "foobar@example.com") ;; email addresses domain portion containing dots and dashes -- 2.42.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-02-01 11:10 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-08 11:47 ` Eli Zaretskii 2024-02-10 16:48 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 12+ messages in thread From: Eli Zaretskii @ 2024-02-08 11:47 UTC (permalink / raw) To: Eshel Yaron; +Cc: 68762-done, rpluim, mail, philipk > From: Eshel Yaron <me@eshelyaron.com> > Cc: rpluim@gmail.com, philipk@posteo.net, mail@titusmueller.de, > 68762@debbugs.gnu.org > Date: Thu, 01 Feb 2024 12:10:35 +0100 > > > Eshel, would you like to add some tests for this? > > Sure, I'm attaching below a patch with a slightly cleaner implementation > and a couple of tests. > > Note that this is a complete rewrite of a function that mostly haven't > changed since 1997, so please give it a close look before installing, in > case there's some use case that didn't occur to me and isn't covered by > the existing tests. Thanks, I boldly went ahead and installed this on master. Closing. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." 2024-02-08 11:47 ` Eli Zaretskii @ 2024-02-10 16:48 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 0 replies; 12+ messages in thread From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-10 16:48 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 68762-done, rpluim, mail, philipk Eli Zaretskii <eliz@gnu.org> writes: >> From: Eshel Yaron <me@eshelyaron.com> >> Cc: rpluim@gmail.com, philipk@posteo.net, mail@titusmueller.de, >> 68762@debbugs.gnu.org >> Date: Thu, 01 Feb 2024 12:10:35 +0100 >> >> > Eshel, would you like to add some tests for this? >> >> Sure, I'm attaching below a patch with a slightly cleaner implementation >> and a couple of tests. >> >> Note that this is a complete rewrite of a function that mostly haven't >> changed since 1997, so please give it a close look before installing, in >> case there's some use case that didn't occur to me and isn't covered by >> the existing tests. > > Thanks, I boldly went ahead and installed this on master. Closing. Thanks. I've found an edge case that my implementation didn't handle correctly. I'm not sure it affects any of the actual uses of this function, but nevertheless I pushed a small fix along with a another test case in 939187fd7a0. Best, Eshel ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-02-10 16:48 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-01-27 13:25 bug#68762: 30.0.50; thing-at-point for an e-mail adress stops at "." Titus Müller 2024-01-27 18:39 ` Eli Zaretskii 2024-01-27 20:42 ` Titus Müller 2024-01-28 5:58 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-01-28 7:11 ` Eli Zaretskii 2024-01-28 7:47 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-01-29 9:05 ` Robert Pluim 2024-01-29 12:41 ` Eli Zaretskii 2024-02-01 10:26 ` Eli Zaretskii 2024-02-01 11:10 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-02-08 11:47 ` Eli Zaretskii 2024-02-10 16:48 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.