all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#20092: 24.4.91; False matches with incremental search in Info
@ 2015-03-12  0:57 N. Jackson
  2015-03-12  3:31 ` N. Jackson
  0 siblings, 1 reply; 9+ messages in thread
From: N. Jackson @ 2015-03-12  0:57 UTC (permalink / raw)
  To: 20092

In the top level node of Emacs Info, incremental search is matching text
that isn't there.

My search text was "sage". Repeatedly pressing C-s, I get four or five
correct matches, then I end up in the "GNU C library functions and
macros" section where I get several false matches with point placed at
the end of the line. (E.g. On the entry "err: (libc)".)

I'm guessing there is some invisible text there (I don't know how I can
check; switching to fundamental mode reveals nothing), but probably
I-search shouldn't be finding it.

Recipe:

1. emacs -Q

2. C-h i

3. C-s s a g e

4. C-s C-s C-s C-s    ; Repeat count may depend on installed manuals.

I-search stops on a false match.

Please let me know if you need more details.



In GNU Emacs 24.4.91.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.9)
 of 2015-03-10 on moondust
Windowing system distributor `Fedora Project', version 11.0.11603000
System Description:	Fedora release 21 (Twenty One)

Configured using:
 `configure --prefix=/home/nlj/local/ --enable-checking 'CFLAGS=-O0 -g3
 -ggdb''

Important settings:
  value of $LC_MONETARY: en_DK.utf8
  value of $LC_NUMERIC: en_DK.utf8
  value of $LC_TIME: en_DK.utf8
  value of $LANG: en_CA.utf8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  gnus-undo-mode: t
  TeX-PDF-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  display-battery-mode: t
  display-time-mode: t
  delete-selection-mode: t
  savehist-mode: t
  iswitchb-mode: t
  desktop-save-mode: t
  cua-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Recent messages:
<mouse-6> is undefined
Mark saved where search started
Mark set [2 times]
End of buffer
Undo! [4 times]
Mark set [2 times]
Updating buffer list...done
Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help
Updating buffer list...done
Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help

Load-path shadows:
/home/nlj/.emacs.d/elpa/org-20150223/ob-gnuplot hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-gnuplot
/home/nlj/.emacs.d/elpa/org-20150223/org-eshell hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-eshell
/home/nlj/.emacs.d/elpa/org-20150223/ox-md hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-md
/home/nlj/.emacs.d/elpa/org-20150223/ob-shen hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-shen
/home/nlj/.emacs.d/elpa/org-20150223/org-timer hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-timer
/home/nlj/.emacs.d/elpa/org-20150223/ob-ruby hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-ruby
/home/nlj/.emacs.d/elpa/org-20150223/ox hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox
/home/nlj/.emacs.d/elpa/org-20150223/ox-html hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-html
/home/nlj/.emacs.d/elpa/org-20150223/ob-latex hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-latex
/home/nlj/.emacs.d/elpa/org-20150223/org-archive hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-archive
/home/nlj/.emacs.d/elpa/org-20150223/ob-org hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-org
/home/nlj/.emacs.d/elpa/org-20150223/org-install hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-install
/home/nlj/.emacs.d/elpa/org-20150223/ox-latex hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-latex
/home/nlj/.emacs.d/elpa/org-20150223/ob-sass hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-sass
/home/nlj/.emacs.d/elpa/org-20150223/ox-icalendar hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-icalendar
/home/nlj/.emacs.d/elpa/org-20150223/ob-screen hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-screen
/home/nlj/.emacs.d/elpa/org-20150223/org-bibtex hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-bibtex
/home/nlj/.emacs.d/elpa/org-20150223/org-footnote hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-footnote
/home/nlj/.emacs.d/elpa/org-20150223/org-datetree hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-datetree
/home/nlj/.emacs.d/elpa/org-20150223/org-colview hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-colview
/home/nlj/.emacs.d/elpa/org-20150223/org-attach hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-attach
/home/nlj/.emacs.d/elpa/org-20150223/org-mouse hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-mouse
/home/nlj/.emacs.d/elpa/org-20150223/ob-dot hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-dot
/home/nlj/.emacs.d/elpa/org-20150223/ob-scala hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-scala
/home/nlj/.emacs.d/elpa/org-20150223/org-compat hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-compat
/home/nlj/.emacs.d/elpa/org-20150223/ob-core hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-core
/home/nlj/.emacs.d/elpa/org-20150223/ob-awk hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-awk
/home/nlj/.emacs.d/elpa/org-20150223/ob-makefile hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-makefile
/home/nlj/.emacs.d/elpa/org-20150223/org-macro hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-macro
/home/nlj/.emacs.d/elpa/org-20150223/org-ctags hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-ctags
/home/nlj/.emacs.d/elpa/org-20150223/org-capture hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-capture
/home/nlj/.emacs.d/elpa/org-20150223/ox-beamer hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-beamer
/home/nlj/.emacs.d/elpa/org-20150223/org-mobile hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-mobile
/home/nlj/.emacs.d/elpa/org-20150223/org-indent hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-indent
/home/nlj/.emacs.d/elpa/org-20150223/ob-lilypond hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-lilypond
/home/nlj/.emacs.d/elpa/org-20150223/ob-asymptote hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-asymptote
/home/nlj/.emacs.d/elpa/org-20150223/ox-odt hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-odt
/home/nlj/.emacs.d/elpa/org-20150223/org-w3m hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-w3m
/home/nlj/.emacs.d/elpa/org-20150223/ob-plantuml hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-plantuml
/home/nlj/.emacs.d/elpa/org-20150223/ob-table hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-table
/home/nlj/.emacs.d/elpa/org-20150223/ob-ocaml hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-ocaml
/home/nlj/.emacs.d/elpa/org-20150223/org-crypt hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-crypt
/home/nlj/.emacs.d/elpa/org-20150223/ob-js hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-js
/home/nlj/.emacs.d/elpa/org-20150223/ob-clojure hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-clojure
/home/nlj/.emacs.d/elpa/org-20150223/ob-haskell hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-haskell
/home/nlj/.emacs.d/elpa/org-20150223/org-version hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-version
/home/nlj/.emacs.d/elpa/org-20150223/ob-scheme hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-scheme
/home/nlj/.emacs.d/elpa/org-20150223/org-table hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-table
/home/nlj/.emacs.d/elpa/org-20150223/ob-C hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-C
/home/nlj/.emacs.d/elpa/org-20150223/ob-ledger hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-ledger
/home/nlj/.emacs.d/elpa/org-20150223/ob-fortran hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-fortran
/home/nlj/.emacs.d/elpa/org-20150223/ob-sql hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-sql
/home/nlj/.emacs.d/elpa/org-20150223/org hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org
/home/nlj/.emacs.d/elpa/org-20150223/org-loaddefs hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-loaddefs
/home/nlj/.emacs.d/elpa/org-20150223/org-list hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-list
/home/nlj/.emacs.d/elpa/org-20150223/ob-lisp hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-lisp
/home/nlj/.emacs.d/elpa/org-20150223/org-docview hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-docview
/home/nlj/.emacs.d/elpa/org-20150223/ob-eval hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-eval
/home/nlj/.emacs.d/elpa/org-20150223/org-element hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-element
/home/nlj/.emacs.d/elpa/org-20150223/ob hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob
/home/nlj/.emacs.d/elpa/org-20150223/ox-ascii hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-ascii
/home/nlj/.emacs.d/elpa/org-20150223/org-info hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-info
/home/nlj/.emacs.d/elpa/org-20150223/ob-css hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-css
/home/nlj/.emacs.d/elpa/org-20150223/ob-sh hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-sh
/home/nlj/.emacs.d/elpa/org-20150223/org-rmail hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-rmail
/home/nlj/.emacs.d/elpa/org-20150223/org-irc hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-irc
/home/nlj/.emacs.d/elpa/org-20150223/ob-tangle hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-tangle
/home/nlj/.emacs.d/elpa/org-20150223/ob-ditaa hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-ditaa
/home/nlj/.emacs.d/elpa/org-20150223/org-feed hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-feed
/home/nlj/.emacs.d/elpa/org-20150223/org-clock hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-clock
/home/nlj/.emacs.d/elpa/org-20150223/org-habit hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-habit
/home/nlj/.emacs.d/elpa/org-20150223/org-pcomplete hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-pcomplete
/home/nlj/.emacs.d/elpa/org-20150223/org-entities hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-entities
/home/nlj/.emacs.d/elpa/org-20150223/ob-io hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-io
/home/nlj/.emacs.d/elpa/org-20150223/ob-octave hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-octave
/home/nlj/.emacs.d/elpa/org-20150223/org-faces hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-faces
/home/nlj/.emacs.d/elpa/org-20150223/ob-perl hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-perl
/home/nlj/.emacs.d/elpa/org-20150223/org-src hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-src
/home/nlj/.emacs.d/elpa/org-20150223/org-protocol hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-protocol
/home/nlj/.emacs.d/elpa/org-20150223/ox-man hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-man
/home/nlj/.emacs.d/elpa/org-20150223/ob-python hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-python
/home/nlj/.emacs.d/elpa/org-20150223/ob-mscgen hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-mscgen
/home/nlj/.emacs.d/elpa/org-20150223/ox-texinfo hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-texinfo
/home/nlj/.emacs.d/elpa/org-20150223/ob-exp hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-exp
/home/nlj/.emacs.d/elpa/org-20150223/org-inlinetask hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-inlinetask
/home/nlj/.emacs.d/elpa/org-20150223/ox-publish hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-publish
/home/nlj/.emacs.d/elpa/org-20150223/ob-java hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-java
/home/nlj/.emacs.d/elpa/org-20150223/ob-sqlite hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-sqlite
/home/nlj/.emacs.d/elpa/org-20150223/org-mhe hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-mhe
/home/nlj/.emacs.d/elpa/org-20150223/ox-org hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ox-org
/home/nlj/.emacs.d/elpa/org-20150223/ob-R hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-R
/home/nlj/.emacs.d/elpa/org-20150223/ob-lob hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-lob
/home/nlj/.emacs.d/elpa/org-20150223/ob-picolisp hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-picolisp
/home/nlj/.emacs.d/elpa/org-20150223/org-agenda hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-agenda
/home/nlj/.emacs.d/elpa/org-20150223/ob-matlab hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-matlab
/home/nlj/.emacs.d/elpa/org-20150223/org-gnus hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-gnus
/home/nlj/.emacs.d/elpa/org-20150223/org-macs hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-macs
/home/nlj/.emacs.d/elpa/org-20150223/org-id hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-id
/home/nlj/.emacs.d/elpa/org-20150223/ob-keys hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-keys
/home/nlj/.emacs.d/elpa/org-20150223/ob-comint hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-comint
/home/nlj/.emacs.d/elpa/org-20150223/ob-ref hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-ref
/home/nlj/.emacs.d/elpa/org-20150223/org-bbdb hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-bbdb
/home/nlj/.emacs.d/elpa/org-20150223/ob-calc hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-calc
/home/nlj/.emacs.d/elpa/org-20150223/ob-emacs-lisp hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-emacs-lisp
/home/nlj/.emacs.d/elpa/org-20150223/ob-maxima hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/ob-maxima
/home/nlj/.emacs.d/elpa/org-20150223/org-plot hides /data/projects/vc/emacs/emacs-24.4.91/lisp/org/org-plot
~/.emacs.d/modules/emms/lisp/tq hides /data/projects/vc/emacs/emacs-24.4.91/lisp/emacs-lisp/tq

Features:
(shadow bbdb-message mail-extr emacsbug sendmail misearch multi-isearch
ibuf-ext ibuffer nndraft nnmh utf-7 nnimap utf7 gnutls nnfolder
parse-time bbdb-gnus bbdb-mua epa-file epa derived epg netrc
network-stream starttls tls gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime
smime dig nntp gnus-cache gnus-sum nnoo gnus-group gnus-undo nnmail
mail-source gnus-start gnus-spec gnus-int gnus-range message rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums gmm-utils mailheader gnus-win gnus gnus-ems nnheader
mail-utils preview prv-emacs tex-buf font-latex latex tex-style tex dbus
xml tex-mode compile shell emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort emms-playlist-sort emms-last-played emms-player-xine
emms-player-mpd tq emms-playing-time emms-lyrics emms-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util url-parse auth-source eieio byte-opt bytecomp byte-compile
cl-extra cconv eieio-core mm-util mail-prsvr password-cache url-vars
mailcap emms-streams emms-tag-editor emms-mark emms-mode-line emms-cache
emms-info-ogginfo emms-info-mp3info emms-info later-do
emms-playlist-mode emms-player-vlc emms-player-mplayer
emms-player-simple emms-source-playlist emms-source-file locate
emms-setup emms emms-compat cl-macs gv appt org-element org-rmail
org-mhe org-irc org-info org-gnus gnus-util org-docview doc-view
jka-compr image-mode dired org-bibtex bibtex org-bbdb org-w3m org-agenda
org advice help-fns org-macro org-footnote org-pcomplete pcomplete
org-list org-faces org-entities noutline outline easy-mmode org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys
ob-comint comint ansi-color ring ob-core ob-eval org-compat org-macs
org-loaddefs format-spec find-func bbdb-anniv diary-lib diary-loaddefs
cal-menu calendar cal-loaddefs bbdb-com crm mailabbrev bbdb bbdb-site
timezone bbdb-loaddefs tex-site csv-mode-autoloads info package edmacro
kmacro recentf tree-widget wid-edit easymenu battery time saveplace
wheatgrass-theme delsel savehist iswitchb desktop frameset cl-loaddefs
cl-lib cua-base cus-start cus-load time-date tooltip electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 439762 69503)
 (symbols 48 54421 0)
 (miscs 40 5631 5959)
 (strings 32 109799 7164)
 (string-bytes 1 3648158)
 (vectors 16 37955)
 (vector-slots 8 736387 19188)
 (floats 8 364 506)
 (intervals 56 14705 221)
 (buffers 960 37)
 (heap 1024 69973 5220))





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#20092: 24.4.91; False matches with incremental search in Info
  2015-03-12  0:57 bug#20092: 24.4.91; False matches with incremental search in Info N. Jackson
@ 2015-03-12  3:31 ` N. Jackson
  2015-03-12 14:29   ` N. Jackson
  0 siblings, 1 reply; 9+ messages in thread
From: N. Jackson @ 2015-03-12  3:31 UTC (permalink / raw)
  To: 20092

At 21:57 -0300 on Wednesday 2015-03-11, N. Jackson wrote:

> In the top level node of Emacs Info, incremental search is matching text
> that isn't there.
>
> My search text was "sage". Repeatedly pressing C-s, I get four or five
> correct matches, then I end up in the "GNU C library functions and
> macros" section where I get several false matches with point placed at
> the end of the line. (E.g. On the entry "err: (libc)".)
>
> I'm guessing there is some invisible text there (I don't know how I can
> check; switching to fundamental mode reveals nothing), but probably
> I-search shouldn't be finding it.

Further to my report, I did a bit of poking around.

Setting the variable Info-hide-note-references to nil allows me to see
the invisible text.

An example of an entry that was showing a false match for "sage" was

    * err: (libc)

and setting Info-hide-note-references to nil, this displays as

    * err: (libc)Error Messages.
                          ^^^^
which at least shows what I-search was finding.

For me the value of search-invisible is `open' (which I assume is the
default). The bug does *not* manifest itself when I set search-invisible
to nil.

I found this function in info.el:

#+BEGIN_SRC emacs-lisp
    (defun Info-isearch-filter (beg-found found)
      "Test whether the current search hit is a visible useful text.
    Return non-nil if the text from BEG-FOUND to FOUND is visible
    and is not in the header line or a tag table."
      (save-match-data
	(let ((backward (< found beg-found)))
	  (not
	   (or
	    (and (not search-invisible)
		 (if backward
		     (or (text-property-not-all found beg-found 'invisible nil)
			 (text-property-not-all found beg-found 'display nil))
		   (or (text-property-not-all beg-found found 'invisible nil)
		       (text-property-not-all beg-found found 'display nil))))
	    ;; Skip node header line
	    (and (save-excursion (forward-line -1)
				 (looking-at "\^_"))
		 (forward-line (if backward -1 1)))
	    ;; Skip Tag Table node
	    (save-excursion
	      (and (search-backward "\^_" nil t)
		   (looking-at
		    "\^_\n\\(Tag Table\\|Local Variables\\)"))))))))
#+END_SRC

I don't know elisp, but if this function is relevant here (I have no
idea if it is and I don't even know if runs in this context; I didn't
try running the debugger yet as I don't yet know how) and if it is
intended to make I-search ignore the invisible text, then the

    (not search-invisible)

form looks suspect perhaps?

    (not 'open) => nil
    (not t)  => nil
    (not nil) => t

So here, for search-invisible to be `open' is equivalent to it being t
which would explain the buggy behaviour that I see. Or am I missing
something?

Thanks.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#20092: 24.4.91; False matches with incremental search in Info
  2015-03-12  3:31 ` N. Jackson
@ 2015-03-12 14:29   ` N. Jackson
  2015-03-12 19:16     ` Stefan Monnier
  0 siblings, 1 reply; 9+ messages in thread
From: N. Jackson @ 2015-03-12 14:29 UTC (permalink / raw)
  To: 20092

I'm having a hard time figuring out the intended behaviour of I-search
when search-invisible has the value `open'. I think the documentation
here could be improved somewhat, especially since this is the default
value. The way the documentation reads now the feature seems less than
completely baked.

I'm guessing that the intended behaviour is roughly that when a search
finds a match in text that is invisible to the user, then, 1) if the
value of search-invisible is nil then the match is ignored; 2) if the
value of search-invisible is t then the match is deemed to be
immediately before the start of the invisible text (This is the rather
confusing behaviour that prompted me to report this bug.); and 3) if the
value of search-invisible is `open' then the chunk of invisible text is
made visible ("opened") temporarilly, and the match shown within it.

The Emacs manual doesn't have "search-invisible" in the index but it is
in the variables index. However the variables index entry doesn't link
to the definition of the variable but rather to the node "Outline
Visibility" where it is only mentioned in passing and the meaning of
`open' is not mentioned at all.

A search of the manual turns up "search-invisible" in two places. The
first is in the node "Query Replace" and reads:

    "The option ‘search-invisible’ determines how ‘query-replace’ treats
    invisible text.  *Note Outline Search."

The link to "Outline Search" here seems to be broken; it goes to
"25.10.3 TeX Printing Commands".

The second place it is found is in "Outline Visibility". This is the
most helpful (perhaps that's whey the Variable Index points here) but,
as I mentioned above, it doesn't discuss `open':

    "When incremental search finds text that is hidden by Outline mode, it
    makes that part of the buffer visible. If you exit the search at that
    position, the text remains visible. To toggle whether or not an active
    incremental search can match hidden text, type ‘M-s i’. To change the
    default for future searches, customize the option ‘search-invisible’.
    (This option also affects how ‘query-replace’ and related functions
    treat hidden text, *note Query Replace.) You can also automatically make
    text visible as you navigate in it by using Reveal mode (‘M-x
    reveal-mode’), a buffer-local minor mode."

The docstring for search-invisible says:

#+BEGIN_SRC emacs-lisp
      "If t incremental search/query-replace can match hidden text.
    A nil value means don't match invisible text.
    When the value is `open', if the text matched is made invisible by
    an overlay having an `invisible' property and that overlay has a property
    `isearch-open-invisible', then incremental search will show the contents.
    \(This applies when using `outline.el' and `hideshow.el'.)

    To temporarily change the value for an active incremental search,
    use \\<isearch-mode-map>\\[isearch-toggle-invisible].

    See also the related option `isearch-hide-immediately'.

    See also `reveal-mode' if you want overlays to automatically be opened
    whenever point is in one of them."
#+END_SRC

The discussion of `open' here seems to describe implementation rather
than behaviour.

It's not clear what one is to make of the sentence "This applies when
using `outline.el' and `hideshow.el'."; this almost suggests the
semantics of `open' are undefined elsewhere.

It seems odd to have a function (isearch-toggle-invisible) to "toggle"
the state of a variable that can have three states; cycling seems more
appropriate. In any case looking at the code, it does actually toggle
(between nil and t), but also changes `open' to nil, and then one can
never "toggle" back to `open'. Of course, this applies to
isearch-invisible not search-invisible, so maybe it is not important.

Sorry to be so nit-picky. However, clarifying this a little bit seems
necessary to decide if this bug is a bug and would also seem to present
an opportunity for improving Emacs's docs.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#20092: 24.4.91; False matches with incremental search in Info
  2015-03-12 14:29   ` N. Jackson
@ 2015-03-12 19:16     ` Stefan Monnier
  2015-03-12 19:45       ` Juri Linkov
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2015-03-12 19:16 UTC (permalink / raw)
  To: N. Jackson; +Cc: 20092

> confusing behaviour that prompted me to report this bug.); and 3) if the
> value of search-invisible is `open' then the chunk of invisible text is
> made visible ("opened") temporarilly, and the match shown within it.

That's right.  But currently `open' doesn't actually work for text
that's hidden via text-properties (as opposed to overlays).  I think
that's the problem you bumped into.

I'm not sure what's the best and/or simplest way to fix it.
Maybe a first step would be to emit a message explaining that the match
is inside hidden text (at least so the user gets a clue about what's
going on).

> It seems odd to have a function (isearch-toggle-invisible) to "toggle"
> the state of a variable that can have three states; cycling seems more
> appropriate.

Agreed, tho the current implementation indeed toggles.

> In any case looking at the code, it does actually toggle
> (between nil and t), but also changes `open' to nil, and then one can
> never "toggle" back to `open'.

That's indeed another problem that should be fixed.


        Stefan





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#20092: 24.4.91; False matches with incremental search in Info
  2015-03-12 19:16     ` Stefan Monnier
@ 2015-03-12 19:45       ` Juri Linkov
  2015-03-13  1:12         ` Stefan Monnier
  2020-08-25  9:40         ` Lars Ingebrigtsen
  0 siblings, 2 replies; 9+ messages in thread
From: Juri Linkov @ 2015-03-12 19:45 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 20092, N. Jackson

>> confusing behaviour that prompted me to report this bug.); and 3) if the
>> value of search-invisible is `open' then the chunk of invisible text is
>> made visible ("opened") temporarilly, and the match shown within it.
>
> That's right.  But currently `open' doesn't actually work for text
> that's hidden via text-properties (as opposed to overlays).  I think
> that's the problem you bumped into.

Since Info doesn't open invisible text, then maybe `Info-mode' should
set the buffer-local value of `search-invisible' to nil?

diff --git a/lisp/info.el b/lisp/info.el
index 0159661..2c73639 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -4305,6 +4305,7 @@ (define-derived-mode Info-mode nil "Info" ;FIXME: Derive from special-mode?
   (setq-local isearch-wrap-function #'Info-isearch-wrap)
   (setq-local isearch-push-state-function #'Info-isearch-push-state)
   (setq-local isearch-filter-predicate #'Info-isearch-filter)
+  (setq-local search-invisible nil)
   (setq-local revert-buffer-function #'Info-revert-buffer-function)
   (setq-local font-lock-defaults '(Info-mode-font-lock-keywords t t))
   (Info-set-mode-line)

> I'm not sure what's the best and/or simplest way to fix it.
> Maybe a first step would be to emit a message explaining that the match
> is inside hidden text (at least so the user gets a clue about what's
> going on).

Like in the message prefix?

diff --git a/lisp/isearch.el b/lisp/isearch.el
index 191ec82..4bc2129 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2526,6 +2526,7 @@ (defun isearch-message-prefix (&optional ellipsis nonincremental)
 		    (multi-isearch-buffer-list "multi-buffer ")
 		    (t ""))
 		   (or isearch-message-prefix-add "")
+		   (if isearch-hidden "hidden " "")
 		   (if nonincremental "search" "I-search")
 		   (if isearch-forward "" " backward")
 		   (if current-input-method

Or maybe better in the message suffix?

diff --git a/lisp/isearch.el b/lisp/isearch.el
index 191ec82..4bc2129 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2544,6 +2545,7 @@ (defun isearch-message-suffix (&optional c-q-hack)
 	  (if isearch-error
 	      (concat " [" isearch-error "]")
 	    "")
+	  (if isearch-hidden " [hidden]" "")
 	  (or isearch-message-suffix-add "")))

>> In any case looking at the code, it does actually toggle
>> (between nil and t), but also changes `open' to nil, and then one can
>> never "toggle" back to `open'.
>
> That's indeed another problem that should be fixed.

I can't reproduce this problem: after `C-s M-s i M-s i'
isearch-invisible is still `open'.





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* bug#20092: 24.4.91; False matches with incremental search in Info
  2015-03-12 19:45       ` Juri Linkov
@ 2015-03-13  1:12         ` Stefan Monnier
  2020-08-25  9:40         ` Lars Ingebrigtsen
  1 sibling, 0 replies; 9+ messages in thread
From: Stefan Monnier @ 2015-03-13  1:12 UTC (permalink / raw)
  To: Juri Linkov; +Cc: 20092, N. Jackson

> Since Info doesn't open invisible text, then maybe `Info-mode' should
> set the buffer-local value of `search-invisible' to nil?

That would work around the problem, yes.

>> I'm not sure what's the best and/or simplest way to fix it.
>> Maybe a first step would be to emit a message explaining that the match
>> is inside hidden text (at least so the user gets a clue about what's
>> going on).
> Like in the message prefix?
[...]
> Or maybe better in the message suffix?

Either way is fine by me.  I guess the next step would be to include
some extract of the hidden&matched text, but there's no hurry.

>>> In any case looking at the code, it does actually toggle
>>> (between nil and t), but also changes `open' to nil, and then one can
>>> never "toggle" back to `open'.
>> That's indeed another problem that should be fixed.
> I can't reproduce this problem: after `C-s M-s i M-s i'
> isearch-invisible is still `open'.

So maybe there's no problem on this front after all.


        Stefan





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#20092: 24.4.91; False matches with incremental search in Info
  2015-03-12 19:45       ` Juri Linkov
  2015-03-13  1:12         ` Stefan Monnier
@ 2020-08-25  9:40         ` Lars Ingebrigtsen
  2020-08-25 18:32           ` Juri Linkov
  1 sibling, 1 reply; 9+ messages in thread
From: Lars Ingebrigtsen @ 2020-08-25  9:40 UTC (permalink / raw)
  To: Juri Linkov; +Cc: 20092, N. Jackson, Stefan Monnier

Juri Linkov <juri@linkov.net> writes:

> Since Info doesn't open invisible text, then maybe `Info-mode' should
> set the buffer-local value of `search-invisible' to nil?
>
> diff --git a/lisp/info.el b/lisp/info.el

[...]

> +  (setq-local search-invisible nil)

Makes sense to me, but this was never applied?

>> I'm not sure what's the best and/or simplest way to fix it.
>> Maybe a first step would be to emit a message explaining that the match
>> is inside hidden text (at least so the user gets a clue about what's
>> going on).

[...]

> Or maybe better in the message suffix?
>
> diff --git a/lisp/isearch.el b/lisp/isearch.el
> index 191ec82..4bc2129 100644
> --- a/lisp/isearch.el
> +++ b/lisp/isearch.el
> @@ -2544,6 +2545,7 @@ (defun isearch-message-suffix (&optional c-q-hack)
>  	  (if isearch-error
>  	      (concat " [" isearch-error "]")
>  	    "")
> +	  (if isearch-hidden " [hidden]" "")
>  	  (or isearch-message-suffix-add "")))

I think that would be a good idea, but I tried the patch, and I could
never get it to actually show the [hidden] suffix.  I tried debugging
this, but...  it seems like isearch-hidden is never set?  At least not
in my test cases here?  Is there another bug in this area?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#20092: 24.4.91; False matches with incremental search in Info
  2020-08-25  9:40         ` Lars Ingebrigtsen
@ 2020-08-25 18:32           ` Juri Linkov
  2021-05-10 11:26             ` Lars Ingebrigtsen
  0 siblings, 1 reply; 9+ messages in thread
From: Juri Linkov @ 2020-08-25 18:32 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 20092, N. Jackson, Stefan Monnier

>> +	  (if isearch-hidden " [hidden]" "")
>>  	  (or isearch-message-suffix-add "")))
>
> I think that would be a good idea, but I tried the patch, and I could
> never get it to actually show the [hidden] suffix.  I tried debugging
> this, but...  it seems like isearch-hidden is never set?  At least not
> in my test cases here?  Is there another bug in this area?

I'll check what is wrong here.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#20092: 24.4.91; False matches with incremental search in Info
  2020-08-25 18:32           ` Juri Linkov
@ 2021-05-10 11:26             ` Lars Ingebrigtsen
  0 siblings, 0 replies; 9+ messages in thread
From: Lars Ingebrigtsen @ 2021-05-10 11:26 UTC (permalink / raw)
  To: Juri Linkov; +Cc: 20092, N. Jackson, Stefan Monnier

Juri Linkov <juri@linkov.net> writes:

>>> +	  (if isearch-hidden " [hidden]" "")
>>>  	  (or isearch-message-suffix-add "")))
>>
>> I think that would be a good idea, but I tried the patch, and I could
>> never get it to actually show the [hidden] suffix.  I tried debugging
>> this, but...  it seems like isearch-hidden is never set?  At least not
>> in my test cases here?  Is there another bug in this area?
>
> I'll check what is wrong here.

Did you make any progress here?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-05-10 11:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-12  0:57 bug#20092: 24.4.91; False matches with incremental search in Info N. Jackson
2015-03-12  3:31 ` N. Jackson
2015-03-12 14:29   ` N. Jackson
2015-03-12 19:16     ` Stefan Monnier
2015-03-12 19:45       ` Juri Linkov
2015-03-13  1:12         ` Stefan Monnier
2020-08-25  9:40         ` Lars Ingebrigtsen
2020-08-25 18:32           ` Juri Linkov
2021-05-10 11:26             ` Lars Ingebrigtsen

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.