unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#15667: 24.3.50; ns-win.el -- keymap assignments for isearch-repeat-backward/forward.
@ 2013-10-21  0:02 Keith David Bershatsky
  2021-01-20  2:42 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 4+ messages in thread
From: Keith David Bershatsky @ 2013-10-21  0:02 UTC (permalink / raw)
  To: 15667

The global-map key assignments within ns-win.el for isearch-repeat-backward and isearch-repeat-forward are insufficient to achieve the behavior contemplated by the source code of isearch.el.  Specifically, the isearch-mode terminates immediately after invoking the repeat functions and the sticky highlight of searches found does not automatically cleanup.  Invoking these repeat functions should keep isearch-mode active, and then sticky highlight should automatically clean up when exiting the isearch (e.g., by pressing the return key after the search).  The problem is corrected by the following keymap assignments, which mirrors the usage within the source code of isearch.el

(define-key global-map [?\s-f] 'isearch-forward)
(define-key esc-map [?\s-f] 'isearch-forward-regexp)
(define-key minibuffer-local-isearch-map [?\s-f] 'isearch-forward-exit-minibuffer)
(define-key isearch-mode-map [?\s-f] 'isearch-repeat-forward)

(define-key global-map [?\s-F] 'isearch-backward)
(define-key esc-map [?\s-F] 'isearch-backward-regexp)
(define-key minibuffer-local-isearch-map [?\s-F] 'isearch-reverse-exit-minibuffer)
(define-key isearch-mode-map [?\s-F] 'isearch-repeat-backward)

While I cannot profess to have a complete understanding of all the capabilities of isearch, I am certain that there is something special about invoking isearch-repeat-backward/forward after having first performed isearch-backward/forward, and there is something special about the fact that the isearch-mode-map is used while in isearch-mode.  I launched the following StackOverflow thread about 4 months ago and just figured out the problem today:

http://stackoverflow.com/questions/17204127/how-to-disable-sticky-highlight-for-repeat-isearch-forward-backward

I realize that the Emacs team would like to incorporate Command-G and Command-g to mirror built-in OSX functionality, and I agree.  I will leave that implementation up to you.


Keith

esq@lawlist.com


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

In GNU Emacs 24.3.50.1 (x86_64-apple-darwin10.8.0, NS apple-appkit-1038.36)
 of 2013-10-05 on MP.local
Bzr revision: 114534 monnier@iro.umontreal.ca-20131005183708-jfv7jyagzpkqkljx
Windowing system distributor `Apple', version 10.3.1038
Configured using:
 `configure --with-ns'

Important settings:
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Text

Minor modes in effect:
  whitespace-mode: t
  global-linum-mode: t
  linum-mode: t
  delete-selection-mode: t
  flyspell-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  desktop-save-mode: t
  frame-bufs-mode: t
  tabbar-mode: t
  global-highlight-parentheses-mode: t
  highlight-parentheses-mode: t
  tooltip-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
  line-number-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Recent input:
<menu-bar> <help-menu> <send-emacs-bug-report>

Recent messages:
Loading /Users/HOME/.0.data/.0.emacs/init.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Starting new Ispell process [/Users/HOME/.0.data/.0.emacs/elpa/bin/aspell::english] ...
[yas] Prepared just-in-time loading for /Users/HOME/.0.data/.0.emacs/elpa/yasnippet/snippets
[yas] Reloaded everything (snippets will load just-in-time)....
[yas] Loading for `text-mode', just-in-time: (yas--load-directory-1 /Users/HOME/.0.data/.0.emacs/elpa/yasnippet/snippets/text-mode (quote text-mode) (quote nil))!
[yas] Loading compiled snippets from /Users/HOME/.0.data/.0.emacs/elpa/yasnippet/snippets/text-mode
Wrote /Users/HOME/.0.data/.0.emacs/.lock

Load-path shadows:
/Users/HOME/.0.data/.0.emacs/elpa/flim/md4 hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/md4
/Users/HOME/.0.data/.0.emacs/elpa/flim/hex-util hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/hex-util
/Users/HOME/.0.data/.0.emacs/elpa/flim/sasl hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/net/sasl
/Users/HOME/.0.data/.0.emacs/elpa/flim/sasl-ntlm hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/net/sasl-ntlm
/Users/HOME/.0.data/.0.emacs/elpa/flim/sasl-digest hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/net/sasl-digest
/Users/HOME/.0.data/.0.emacs/elpa/flim/sasl-cram hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/net/sasl-cram
/Users/HOME/.0.data/.0.emacs/elpa/flim/ntlm hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/net/ntlm
/Users/HOME/.0.data/.0.emacs/elpa/flim/hmac-md5 hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/net/hmac-md5
/Users/HOME/.0.data/.0.emacs/elpa/flim/hmac-def hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/net/hmac-def
/Users/HOME/.0.data/.0.emacs/elpa/wanderlust/rfc2368 hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/mail/rfc2368
/Users/HOME/.0.data/.0.emacs/elpa/wanderlust/utf7 hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/gnus/utf7
/Users/HOME/.0.data/.0.emacs/elpa/semi/smime hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/gnus/smime
/Users/HOME/.0.data/.0.emacs/elpa/el-get/.dir-locals hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/gnus/.dir-locals
/Users/HOME/.0.data/.0.emacs/elpa/semi/pgg hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/obsolete/pgg
/Users/HOME/.0.data/.0.emacs/elpa/semi/pgg-pgp5 hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/obsolete/pgg-pgp5
/Users/HOME/.0.data/.0.emacs/elpa/semi/pgg-pgp hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/obsolete/pgg-pgp
/Users/HOME/.0.data/.0.emacs/elpa/semi/pgg-parse hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/obsolete/pgg-parse
/Users/HOME/.0.data/.0.emacs/elpa/semi/pgg-gpg hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/obsolete/pgg-gpg
/Users/HOME/.0.data/.0.emacs/elpa/semi/pgg-def hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/obsolete/pgg-def
/Users/HOME/.0.data/.0.emacs/elpa/utilities/longlines hides /Users/HOME/.0.data/.0.emacs/Emacs.app/Contents/Resources/lisp/obsolete/longlines

Features:
(shadow wl-mime mime-edit pgg-parse pccl pccl-20 signature mime-setup
mail-mime-setup semi-setup mime-pgp pgg-def mime-play filename
mime-image modb-standard elmo-imap4 time-stamp emacsbug message rfc822
mml mml-sec mm-decode mm-bodies mm-encode mailabbrev gmm-utils
mailheader disp-table whitespace multiple-cursors-autoloads package
bbdb-autoloads bbdb wl-demo wl-draft eword-encode wl-template sendmail
mail-utils elmo-net elmo-cache elmo-map elmo-dop wl-news wl-address
wl-thread wl-folder wl wl-e21 linum delsel flyspell ispell savehist
auto-save-buffers-enhanced yasnippet help-mode itunes osx-osascript
debug multiple-cursors mc-separate-operations rectangular-region-mode
mc-mark-more thingatpt mc-cycle-cursors mc-edit-lines
multiple-cursors-core rect saveplace init-auctex tex-site dash desktop
frameset init-wl wl-spam wl-action wl-summary ps-print ps-def lpr
wl-refile wl-util pp elmo-flag elmo-localdir wl-message elmo-mime
mmelmo-buffer mmelmo-imap mime-view mime-conf calist semi-def mmimap
mime-parse mmbuffer mmgeneric elmo-multi elmo-spam elsp-header
elsp-generic elmo elmo-signal wl-highlight wl-vars wl-version
epg-config elmo-msgdb modb modb-generic modb-entity luna mime
elmo-util emu invisible inv-23 poem poem-e20 poem-e20_3 utf7
eword-decode mel mime-def alist std11 mcharset mcs-20 mcs-e20 pces
pces-e20 pces-20 broken pcustom elmo-date elmo-vars elmo-version
path-util poe pym static apel-ver product mime-w3m w3m-load
init-tabbar init-frames edmacro kmacro tabbar frame-cmds frame-fns
avoid calendar-lawlist lawlist-calendar init-org derived cl-macs gv
org-capture org-mks org-agenda org-toodledo mailcap-toodledo
lawlist-tls http-post-simple cl url-http tls url-auth mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums url-gw url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
url-parse auth-source eieio eieio-core gnus-util mm-util mail-prsvr
password-cache url-vars mailcap json xml w3m browse-url doc-view
jka-compr dired image-mode timezone w3m-hist w3m-fb bookmark-w3m
w3m-ems wid-edit cl-loaddefs cl-lib w3m-ccl ccl w3m-favicon w3m-image
w3m-proc w3m-util org byte-opt bytecomp byte-compile cconv advice
help-fns ob-tangle ob-ref ob-lob ob-table org-footnote org-src
ob-comint ob-keys org-pcomplete pcomplete comint ansi-color ring
org-list org-faces org-entities noutline outline easy-mmode
org-version ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs
format-spec find-func cal-menu calendar cal-loaddefs hideshow easymenu
highlight-parentheses redo time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel ns-win 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 ns multi-tty
emacs)





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

* bug#15667: 24.3.50; ns-win.el -- keymap assignments for isearch-repeat-backward/forward.
  2013-10-21  0:02 bug#15667: 24.3.50; ns-win.el -- keymap assignments for isearch-repeat-backward/forward Keith David Bershatsky
@ 2021-01-20  2:42 ` Lars Ingebrigtsen
  2021-01-21 21:47   ` Alan Third
  0 siblings, 1 reply; 4+ messages in thread
From: Lars Ingebrigtsen @ 2021-01-20  2:42 UTC (permalink / raw)
  To: Keith David Bershatsky; +Cc: Alan Third, 15667

Keith David Bershatsky <esq@lawlist.com> writes:

> The global-map key assignments within ns-win.el for
> isearch-repeat-backward and isearch-repeat-forward are insufficient to
> achieve the behavior contemplated by the source code of isearch.el.
> Specifically, the isearch-mode terminates immediately after invoking
> the repeat functions and the sticky highlight of searches found does
> not automatically cleanup.  Invoking these repeat functions should
> keep isearch-mode active, and then sticky highlight should
> automatically clean up when exiting the isearch (e.g., by pressing the
> return key after the search).  The problem is corrected by the
> following keymap assignments, which mirrors the usage within the
> source code of isearch.el
>
> (define-key global-map [?\s-f] 'isearch-forward)
> (define-key esc-map [?\s-f] 'isearch-forward-regexp)
> (define-key minibuffer-local-isearch-map [?\s-f] 'isearch-forward-exit-minibuffer)
> (define-key isearch-mode-map [?\s-f] 'isearch-repeat-forward)
>
> (define-key global-map [?\s-F] 'isearch-backward)
> (define-key esc-map [?\s-F] 'isearch-backward-regexp)
> (define-key minibuffer-local-isearch-map [?\s-F] 'isearch-reverse-exit-minibuffer)
> (define-key isearch-mode-map [?\s-F] 'isearch-repeat-backward)

(I'm going through old bug reports that unfortunately got no response at
the time.)

I don't really use the Emacs on Macos much, but perhaps Alan has an
opinion here?  Added to the CCs.

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





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

* bug#15667: 24.3.50; ns-win.el -- keymap assignments for isearch-repeat-backward/forward.
  2021-01-20  2:42 ` Lars Ingebrigtsen
@ 2021-01-21 21:47   ` Alan Third
  2021-01-22 18:19     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 4+ messages in thread
From: Alan Third @ 2021-01-21 21:47 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Keith David Bershatsky, 15667

On Wed, Jan 20, 2021 at 03:42:50AM +0100, Lars Ingebrigtsen wrote:
> Keith David Bershatsky <esq@lawlist.com> writes:
> 
> > The global-map key assignments within ns-win.el for
> > isearch-repeat-backward and isearch-repeat-forward are insufficient to
> > achieve the behavior contemplated by the source code of isearch.el.
> > Specifically, the isearch-mode terminates immediately after invoking
> > the repeat functions and the sticky highlight of searches found does
> > not automatically cleanup.  Invoking these repeat functions should
> > keep isearch-mode active, and then sticky highlight should
> > automatically clean up when exiting the isearch (e.g., by pressing the
> > return key after the search).  The problem is corrected by the
> > following keymap assignments, which mirrors the usage within the
> > source code of isearch.el
> >
> > (define-key global-map [?\s-f] 'isearch-forward)
> > (define-key esc-map [?\s-f] 'isearch-forward-regexp)
> > (define-key minibuffer-local-isearch-map [?\s-f] 'isearch-forward-exit-minibuffer)
> > (define-key isearch-mode-map [?\s-f] 'isearch-repeat-forward)
> >
> > (define-key global-map [?\s-F] 'isearch-backward)
> > (define-key esc-map [?\s-F] 'isearch-backward-regexp)
> > (define-key minibuffer-local-isearch-map [?\s-F] 'isearch-reverse-exit-minibuffer)
> > (define-key isearch-mode-map [?\s-F] 'isearch-repeat-backward)
> 
> (I'm going through old bug reports that unfortunately got no response at
> the time.)
> 
> I don't really use the Emacs on Macos much, but perhaps Alan has an
> opinion here?  Added to the CCs.

I don't ever really use these macOS shortcuts, TBH. I've generally
followed the rule that if it's replicating standard behaviour and it
doesn't interfere with something else then it may as well go in.
-- 
Alan Third





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

* bug#15667: 24.3.50; ns-win.el -- keymap assignments for isearch-repeat-backward/forward.
  2021-01-21 21:47   ` Alan Third
@ 2021-01-22 18:19     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 4+ messages in thread
From: Lars Ingebrigtsen @ 2021-01-22 18:19 UTC (permalink / raw)
  To: Alan Third; +Cc: Keith David Bershatsky, 15667

Alan Third <alan@idiocy.org> writes:

> I don't ever really use these macOS shortcuts, TBH. I've generally
> followed the rule that if it's replicating standard behaviour and it
> doesn't interfere with something else then it may as well go in.

OK, I've pushed Keith's changes to Emacs 28, then.  If they lead to
problems, please feel free to revert (or rework).

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





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

end of thread, other threads:[~2021-01-22 18:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-21  0:02 bug#15667: 24.3.50; ns-win.el -- keymap assignments for isearch-repeat-backward/forward Keith David Bershatsky
2021-01-20  2:42 ` Lars Ingebrigtsen
2021-01-21 21:47   ` Alan Third
2021-01-22 18:19     ` Lars Ingebrigtsen

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).