view etc/grep.txt @ 83374:0b75ace4f7ad

Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.) * src/keyboard.c (temporarily_switch_to_single_kboard) (record_single_kboard_state, restore_kboard_configuration): New functions. (timer_check): Use record_single_kboard_state instead of naive single_kboard state management. * src/fns.c: Include termhooks.h. (Fy_or_n_p): Use temporarily_switch_to_single_kboard to prevent crashes caused by bogus longjmps in read_char. * src/callint.c (Fcall_interactively): Use temporarily_switch_to_single_kboard instead of single_kboard_state. Make sure it is correctly unwinded. * src/keyboard.c (recursive_edit_unwind): Remove single_kboard stuff. (Frecursive_edit): Use temporarily_switch_to_single_kboard for single_kboard state management. * src/minibuf.c (read_minibuf): Use temporarily_switch_to_single_kboard instead of simply calling single_kboard_state. * src/keyboard.c (push_device_kboard): Remove function. (push_kboard): New function. (push_frame_kboard): Use it. (pop_frame_kboard): Rename to pop_kboard. * src/xdisp.c (display_mode_line, Fformat_mode_line): Update uses. * src/data.c: Include termhooks.h. (Fterminal_local_value, Fset_terminal_local_value): Update. * src/Makefile.in (data.o, fns.o): Add termhooks.h dependency. * src/keyboard.h (push_device_kboard, pop_frame_kboard): Remove declarations. (push_kboard, pop_kboard, temporarily_switch_to_single_kboard) (record_single_kboard_state): New declarations. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-414
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 11 Sep 2005 06:42:03 +0000
parents 4fc385f4c685
children 3681678d3d86
line wrap: on
line source

* Introduction  -*-grep-*-

This shows the different kinds of messages grep recognizes by default and
how they are rendered.  It is intended both to help you decide which matchers
you need and as a test of the matchers.  Move the mouse over a colored part
to see how much text was actually matched.

Please do not edit this file in grep-mode, it may lose escape
sequences on saving.  Visit this file literally for editing.


* GNU grep 2.5.1

grep -nH -e "INFO tree" ../info/*
../info/dir:6:File: dir	Node: Top	This is the top of the INFO tree

* GNU grep 2.5.1 with default colors

grep -nH --color=always -e "INFO tree" ../info/*
../info/dir:6:File: dir	Node: Top	This is the top of the INFO tree

* GNU grep 2.5.1-cvs with the specified matching color

GREP_COLORS='mt=01;31:fn=:ln=:bn=:se=:ml=:cx=:ne' grep -nH --color=always -e "INFO tree" ../info/*
../info/dir:6:File: dir	Node: Top	This is the top of the INFO tree

* GNU grep 2.5.1-cvs with colors for the file name, line number and match

GREP_COLORS='mt=01;31:fn=35:ln=32:bn=:se=:ml=36:cx=37:ne' grep -nH --color=always -e "INFO tree" ../info/*
../info/dir:6:File: dir	Node: Top	This is the top of the INFO tree
1:2:3:4:text
1:2:3:4:text
1:2:3:4:text

* GNU grep 2.5.1-cvs with default colors

grep -nH --color=always -e "INFO tree" ../info/*
../info/dir:6:File: dir	Node: Top	This is the top of the INFO tree

* GNU grep 2.5.1 on lines starting with a number and colon

grep -nH -e "Universal Time" ../lispref/*
../lispref/os.texi:1010:0:00 January 1, 1970 UTC (Coordinated Universal Time)

* GNU grep 2.5.1 with context lines

grep -C 2 -nH --color=always -e "INFO tree" ../info/*
../info/dir-4-looking at that node, which is (dir)Top.
../info/dir-5-
../info/dir:6:File: dir	Node: Top	This is the top of the INFO tree
../info/dir-7-
../info/dir-8-The Info Directory

* GNU grep 2.5.1 on files recognized as binary

Binary file emacs-7 matches
Binary file 2005-06 matches

* GNU grep 2.5.1: other messages

Grep started at Tue Jul 19 15:41:30
grep: ../info/dirinfo: No such file or directory
Grep interrupt at Tue Jul 19 15:42:31
Grep killed at Tue Jul 19 15:42:31
Grep terminated at Tue Jul 19 15:42:31
Grep exited abnormally with code 2 at Tue Jul 19 15:42:31
Grep finished with no matches found at Tue Jul 19 15:43:12
Grep finished (matches found) at Thu Jul 21 15:02:15

* agrep

agrep -n "INFO tree" ../info/*
../info/dir: 6: File: dir	Node: Top	This is the top of the INFO tree

* unknown greps

grep -nH -e "xyzxyz" ../info/*
../info/emacs-2:1205:10:inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2:1205:10-15:inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2:1205.10-1205.15:inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2 1205.10-15 inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2 1205.10-1205.15 inserts `xyzxyzxyzxyz' in the current buffer.
../info/emacs-2 1205 inserts `xyzxyzxyzxyz' in the current buffer.

;;; Local Variables:
;;; buffer-read-only: t
;;; End: