unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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 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).