From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Boruch Baum Newsgroups: gmane.emacs.bugs Subject: bug#19877: 24.4; highlight-regexp displays nonsense options for faces Date: Sun, 15 Feb 2015 13:32:28 -0500 Message-ID: <54E0E63C.8010907@gmx.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="eMEm4GDHInOkJtVaD3nCkwxtQbq1N2mg1" X-Trace: ger.gmane.org 1424025274 7453 80.91.229.3 (15 Feb 2015 18:34:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 15 Feb 2015 18:34:34 +0000 (UTC) To: 19877@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Feb 15 19:34:22 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YN41N-0004X3-1M for geb-bug-gnu-emacs@m.gmane.org; Sun, 15 Feb 2015 19:34:21 +0100 Original-Received: from localhost ([::1]:36224 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YN41M-0001CQ-Cs for geb-bug-gnu-emacs@m.gmane.org; Sun, 15 Feb 2015 13:34:20 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35783) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YN41D-0001A1-0y for bug-gnu-emacs@gnu.org; Sun, 15 Feb 2015 13:34:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YN415-0003EY-Jo for bug-gnu-emacs@gnu.org; Sun, 15 Feb 2015 13:34:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:53670) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YN415-0003EU-GO for bug-gnu-emacs@gnu.org; Sun, 15 Feb 2015 13:34:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YN415-0006e1-9V for bug-gnu-emacs@gnu.org; Sun, 15 Feb 2015 13:34:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Boruch Baum Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 15 Feb 2015 18:34:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 19877 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.142402520925484 (code B ref -1); Sun, 15 Feb 2015 18:34:03 +0000 Original-Received: (at submit) by debbugs.gnu.org; 15 Feb 2015 18:33:29 +0000 Original-Received: from localhost ([127.0.0.1]:44908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YN40W-0006cx-A5 for submit@debbugs.gnu.org; Sun, 15 Feb 2015 13:33:29 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:33927) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YN40T-0006cY-TC for submit@debbugs.gnu.org; Sun, 15 Feb 2015 13:33:27 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YN40H-00036S-F1 for submit@debbugs.gnu.org; Sun, 15 Feb 2015 13:33:20 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:44852) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YN40H-00036M-Cr for submit@debbugs.gnu.org; Sun, 15 Feb 2015 13:33:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35636) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YN40B-00015j-Le for bug-gnu-emacs@gnu.org; Sun, 15 Feb 2015 13:33:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YN402-00034H-2l for bug-gnu-emacs@gnu.org; Sun, 15 Feb 2015 13:33:07 -0500 Original-Received: from mout.gmx.com ([74.208.4.201]:62589) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YN401-00034D-Sq for bug-gnu-emacs@gnu.org; Sun, 15 Feb 2015 13:32:58 -0500 Original-Received: from [10.206.181.34] ([47.21.4.242]) by mail.gmx.com (mrgmxus002) with ESMTPSA (Nemesis) id 0MNqKz-1YUVqU0Fad-007Yi4 for ; Sun, 15 Feb 2015 19:32:57 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 OpenPGP: url=hkp://keys.gnupg.net X-Provags-ID: V03:K0:2iyL6nmoj4tAMy6c8D3V9q2SmnIAHl4+4aqmiXzx0sgdvicdEoN Rx4EuABNdyY1aLwkAv6n4bBXd/i7Vs9+bNrL9+BWDyKjCeXZM3nuthMheMONdMvUFNEkYeM CER1/gYGTbWof0bpT64jAeEEo7lbhno3i/UTwQBvXDmvLNCcLah529iuuLi1tjVQQgFreNf CsQJ0bljiVJuHZkHg0rnA== X-UI-Out-Filterresults: notjunk:1; X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:99443 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --eMEm4GDHInOkJtVaD3nCkwxtQbq1N2mg1 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable WHAT HAPPENS: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The documentation for `highlight-regexp' ( info:emacs#Highlight Interactively]] ) says, "While being prompted for a face use =E2=80=98M-n= =E2=80=99 and =E2=80=98M-p=E2=80=99 to cycle through them." However, repeatedly keying = =E2=80=98M-n=E2=80=99 will toggle through the entries in `hi-lock-face-defaults' *twice*, and then will start displaying _other items_, presumably from some other history ring, but not necessarily faces. In my case, some of the _other items_ that appear when I =E2=80=98M-n=E2=80=99 cycle, were: apropos-vari= able-button, org-target, bookmark-menu-bookmark, org-agenda-date-today, and ido-incomplete-regexp. Furthermore, if one of those _other items_ is selected, `highlight-regexp' exits, without indicating an error, and without highlighting the requested regexp in *any* face. Furthermore, `highlight-regexp', as an alias for function `hi-lock-face-buffer', hard codes face `hi-yellow' as a default, but that default isn't used when one of those non-face _other items_ are selected. Finally, it seems inconsistent with the emacs spirit of flexibility to have `hi-yellow' be hard-coded as a default in function `hi-lock-face-buffer'. Post-finally, courtesy of the indentation police: in function `hi-lock-read-face-name', the `then` and `else` elements of the function's only `if` form, are out-dented. WHAT I EXPECTED: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 1] There are a few ways I expected `M-n` could toggle - either through only the entries in `hi-lock-face-defaults'; through the entries in `hi-lock-face-defaults' plus faces the user had previously entered for hi-lock purposes; or through the entries in `hi-lock-face-defaults' plus faces the user had previously entered for any purpose. It should never *offer* the user an invalid option. Also, it should never accept an entry that isn't a face. 2] If, somehow, something other than a valid face is entered, the user should be notified, and sent back to the prompt, with the same option of `M-n` cycling. 3] If, somehow, something other than a valid face is accepted, the default should be used. 4] The default should not be hard-coded as `hi-yellow`, or as anything else. It should be set to user-definable variable, say `hi-lock-default-face', which could have a default value of `hi-yellow'. 5] Indentation readability / inconsistency quibble. PARTIAL SOLUTION =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 1] Why `M-n` cycled twice through legitimate defaults before offering up garbage. For the following, paste function `hi-lock-read-face-name' into a scratch buffer in order to follow my line number references The value of `defaults', when `hi-lock-interactive-patterns' is *nil*, because of line 7, hi-lock--unused-faces =3D hi-lock-face-defaults because of line 9, last-used-face =3D nil so at line 12, (defaults (append hi-lock-face-defaults (cdr (member nil hi-lock-face-defaults)) hi-lock-face-defaults)) which simplifies to (defaults (append hi-lock-face-defaults nil hi-lock-face-defaults)) OTOH, when `hi-lock-interactive-patterns' is not *nil*, because of line 7, hi-lock--unused-faces =3D nil so at line 12, (defaults (append nil (cdr (member last-used-face hi-lock-face-defaults)) hi-lock-face-defaults)) CONSEQUENTLY, line 12 should be (defaults (if hi-lock-interactive-patterns (let ((index (position last-used-face hi-lock-face-defaults)= )) (append (last hi-lock-face-defaults (1+ index)) (butlast hi-lock-face-defaults (1+ index)))) hi-lock-face-defaults)) 2] on the issue of the strange entries in the history, I've only traced the lisp code as far as `read-from-minibuffer' in minibuf.c In GNU Emacs 24.4.1 (x86_64-pc-linux-gnu) of 2014-12-09 on gaia, modified by Debian System Description: Debian 7.0 GNU/Linux wheezy/testing Configured using: `configure --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/lib --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs24:/etc/emacs:/usr/local/share/emacs/= 24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/sit= e-lisp:/usr/share/emacs/s\ ite-lisp --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/lib --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs24:/etc/emacs:/usr/local/share/emacs/= 24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/sit= e-lisp:/usr/share/emacs/s\ ite-lisp --with-x=3Dno --without-gconf --without-gsettings 'CFLAGS=3D-g -O2 -fstack-protector-strong -Wformat -Werror=3Dformat-security -Wall' CPPFLAGS=3D-D_FORTIFY_SOURCE=3D2 LDFLAGS=3D-Wl,-z,relro' Important settings: value of $LANG: en_US.utf8 locale-coding-system: utf-8-unix Major mode: IBuffer Minor modes in effect: highlight-current-line-minor-mode: t desktop-save-mode: t savehist-mode: t winner-mode: t global-hi-lock-mode: t hi-lock-mode: t delete-selection-mode: t shell-dirtrack-mode: t tooltip-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-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 transient-mark-mode: t Load-path shadows: /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-favicon hides /usr/share/emacs24/site-lisp/w3m/w3m-favicon /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-symbol hides /usr/share/emacs24/site-lisp/w3m/w3m-symbol /home/boruch/.emacs.d/elpa/w3m-20140107.1708/bookmark-w3m hides /usr/share/emacs24/site-lisp/w3m/bookmark-w3m /home/boruch/.emacs.d/elpa/w3m-20140107.1708/mime-w3m hides /usr/share/emacs24/site-lisp/w3m/mime-w3m /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-filter hides /usr/share/emacs24/site-lisp/w3m/w3m-filter /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-ccl hides /usr/share/emacs24/site-lisp/w3m/w3m-ccl /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-namazu hides /usr/share/emacs24/site-lisp/w3m/w3m-namazu /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-ems hides /usr/share/emacs24/site-lisp/w3m/w3m-ems /home/boruch/.emacs.d/elpa/w3m-20140107.1708/octet hides /usr/share/emacs24/site-lisp/w3m/octet /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-bookmark hides /usr/share/emacs24/site-lisp/w3m/w3m-bookmark /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-perldoc hides /usr/share/emacs24/site-lisp/w3m/w3m-perldoc /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-dtree hides /usr/share/emacs24/site-lisp/w3m/w3m-dtree /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-session hides /usr/share/emacs24/site-lisp/w3m/w3m-session /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-mail hides /usr/share/emacs24/site-lisp/w3m/w3m-mail /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-search hides /usr/share/emacs24/site-lisp/w3m/w3m-search /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3mhack hides /usr/share/emacs24/site-lisp/w3m/w3mhack /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-proc hides /usr/share/emacs24/site-lisp/w3m/w3m-proc /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-tabmenu hides /usr/share/emacs24/site-lisp/w3m/w3m-tabmenu /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-rss hides /usr/share/emacs24/site-lisp/w3m/w3m-rss /home/boruch/.emacs.d/elpa/w3m-20140107.1708/mew-w3m hides /usr/share/emacs24/site-lisp/w3m/mew-w3m /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m hides /usr/share/emacs24/site-lisp/w3m/w3m /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m hides /usr/share/emacs24/site-lisp/w3m/w3m /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-image hides /usr/share/emacs24/site-lisp/w3m/w3m-image /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-hist hides /usr/share/emacs24/site-lisp/w3m/w3m-hist /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-lnum hides /usr/share/emacs24/site-lisp/w3m/w3m-lnum /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-form hides /usr/share/emacs24/site-lisp/w3m/w3m-form /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-cookie hides /usr/share/emacs24/site-lisp/w3m/w3m-cookie /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-weather hides /usr/share/emacs24/site-lisp/w3m/w3m-weather /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-bug hides /usr/share/emacs24/site-lisp/w3m/w3m-bug /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-fb hides /usr/share/emacs24/site-lisp/w3m/w3m-fb /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-antenna hides /usr/share/emacs24/site-lisp/w3m/w3m-antenna /home/boruch/.emacs.d/elpa/w3m-20140107.1708/w3m-util hides /usr/share/emacs24/site-lisp/w3m/w3m-util /home/boruch/.emacs.d/elpa/csv-mode-1.2/csv-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/csv-mode /usr/share/emacs/24.4/site-lisp/cdargs hides /usr/share/emacs/site-lisp/cdargs /usr/share/emacs/24.4/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup /usr/share/emacs24/site-lisp/flim/md4 hides /usr/share/emacs/24.4/lisp/md= 4 /usr/share/emacs24/site-lisp/flim/hex-util hides /usr/share/emacs/24.4/lisp/hex-util /usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.4/lisp/textmodes/flyspell /usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.4/lisp/textmodes/ispell /usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.4/lisp/textmodes/rst /usr/share/emacs24/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.4/lisp/net/sasl-ntlm /usr/share/emacs24/site-lisp/flim/hmac-def hides /usr/share/emacs/24.4/lisp/net/hmac-def /usr/share/emacs24/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.4/lisp/net/hmac-md5 /usr/share/emacs24/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.4/lisp/net/sasl-cram /usr/share/emacs24/site-lisp/flim/ntlm hides /usr/share/emacs/24.4/lisp/net/ntlm /usr/share/emacs24/site-lisp/flim/sasl hides /usr/share/emacs/24.4/lisp/net/sasl /usr/share/emacs24/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.4/lisp/net/sasl-digest /usr/share/emacs/24.4/lisp/emacs-lisp/ert-x hides /usr/share/emacs/24.4/site-lisp/slime/lib/ert-x /usr/share/emacs/24.4/lisp/emacs-lisp/cl-lib hides /usr/share/emacs/24.4/site-lisp/slime/lib/cl-lib /usr/share/emacs/24.4/lisp/emacs-lisp/ert hides /usr/share/emacs/24.4/site-lisp/slime/lib/ert Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailabbrev ...) Memory information: ((conses 16 459100 69911) (symbols 48 42873 0) (miscs 40 2286 3515) (strings 32 125530 18155) (string-bytes 1 3397524) (vectors 16 43381) (vector-slots 8 1545011 166125) (floats 8 374 644) (intervals 56 10688 1329) (buffers 960 72) (heap 1024 42235 1854)) --=20 hkp://keys.gnupg.net CA45 09B5 5351 7C11 A9D1 7286 0036 9E45 1595 8BC0 --eMEm4GDHInOkJtVaD3nCkwxtQbq1N2mg1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJU4OZIAAoJEDvrUfDmCx9LyPkP/iufBHphEcp8H5S7YVnUHWnM IIuP6CA+TLd9dpcvaqFH8N4vkLfVlUMmy1VivP64d409T0AvaEuZRJ42lyvBnm8n 5zNyAF5jD4tm5xaadBicLNqRf4PozwnIZKsn5kx2eRQEFuymYzz5rEycTA7tCfHr gN1ZCzNUb0v7bIzjDYBrb8LL7fBUBXd5Xovw4CxPbRFP4I5humLBDFTXEaASB8Zu FzNddfCxGIqTg/TkkxhDXCClVPBFNtU4wrAxYm/U/Q5kI40i1L3OnijcNTzYi0qj Mt+MBmFYNpI1nYMYgbu+1fOthdVzUyVJSsrjkxDCppw+VsGtNsQgdc/QQYUCICZh KfOK5giEdUWnVCxSCehSUW5bk9wbbSSTyYFHfksAXX8Pfmzk3D8eSzvEaEgXu7Yi JlSsPhXONC1bRjbzxJAbKuFkEncDTTHuQ3OTH7xeX1mnqRLKKGx9paoaPNdZbf7q U+5/9fU/g1q5gGc2EpFinrI28PpuaJBeSxu8lOKUPaRRzxDmMAHlbi+WBTk4UQRX Bx3Hv25+x2q0BzRbpRZt9BGkl5QpVtv7tUYbG3sSSnDVTQjeZjK6PxSdhXm9D6we A2xYVETuhxF+9Tsq04Z7aJG9BPc9+6mo/cDiPwTcQVnjfs3+u5mCCtcFl3cgCv4+ 8YQnNLymmXISu8hdELi2 =AJ+X -----END PGP SIGNATURE----- --eMEm4GDHInOkJtVaD3nCkwxtQbq1N2mg1--