GNU bug report logs - #17956
24.3.92; Calling highlight-regexp non-interactively causes errors from face-name

Previous Next

Package: emacs;

Reported by: Mat Smiglarski <penthief <at> SDF.ORG>

Date: Sun, 6 Jul 2014 14:57:02 UTC

Severity: normal

Fixed in version 24.3.92

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Juri Linkov <juri <at> jurta.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#17956: closed (24.3.92; Calling highlight-regexp
 non-interactively causes errors from face-name)
Date: Tue, 08 Jul 2014 09:05:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 08 Jul 2014 12:03:57 +0300
with message-id <87y4w42pdu.fsf <at> mail.jurta.org>
and subject line Re: bug#17956: 24.3.92; Calling highlight-regexp non-interactively causes errors from face-name
has caused the debbugs.gnu.org bug report #17956,
regarding 24.3.92; Calling highlight-regexp non-interactively causes errors from face-name
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
17956: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17956
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Mat Smiglarski <penthief <at> SDF.ORG>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.92; Calling highlight-regexp non-interactively causes errors
 from face-name
Date: Sun, 06 Jul 2014 15:17:22 +0100
The logic within #'highlight-regexp for selecting a face is based on
previous calls. This is a good feature, however it may be the cause of
an issue where deleting the frame, visiting the same buffer in another
frame, and then calling the highlight-regexp function interactively.

This does not happen on 24.3.1.

To reproduce:

1. Start emacs:
$ emacs -Q
2. Create new frame:
C-x 5 2 <RET>
3. create buffer:
C-x b "bug" <RET>
4. (optional) Insert text:
123
5. Highlight text non-interactively:
M-: (highlight-regexp "1" "hi-green")
6. Kill frame
C-x 5 0 <RET>
7. Visit buffer on initial frame
C-x b "bug" <RET>
8. Highlight-regexp non-interactively, supplying a default argument
M-x highlight-regexp <RET> 2 <RET>

The following error is encountered:
face-name: Wrong type argument: symbolp, "hi-green"

NB: This bug does not occur when the second call to highlight-regexp is 
interactive.

An alternative recipe to reproduce the bug is the following:

A. start emacs with the following script:

$ emacs -Q -l bug-highlight-regexp.el

Where bug-highlight-regexp.el contains the following:

(defun bug-highlight-regexp-non-interactive-then-interactive ()
  "
Calling #'highlight-regexp non-interactively and
supplying a non-nil face parameter causes errors
with interactive calls (to #'highlight-regexp).
"
  (interactive)
  (let ((bug-frame (make-frame))
        (bug-buffer (get-buffer-create "Bug Demo")))
    (select-frame bug-frame)
    (switch-to-buffer bug-buffer)
    ;; The regexp does not have to match, and
    ;; any valid face parameter can be supplied.
    (highlight-regexp "anything" "hi-green")
    (delete-frame bug-frame)
    (with-selected-frame (make-frame)
      (switch-to-buffer bug-buffer)
      (message "Do `M-x highlight-regexp' with any pattern to invoke
  bug\n"))))

B. Do M-x bug-highlight-regexp-non-interactive-then-interactive <RET>

C. Call M-x highlight-regexp

Regards,
Mat


In GNU Emacs 24.3.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
 of 2014-06-29 on zz
Windowing system distributor `The X.Org Foundation', version 
11.0.11501000
System Description:	Ubuntu 14.04 LTS

Configured using:
 `configure --with-dbus --with-libotf --with-m17n-flt'

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  hi-lock-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x b u g - h i <tab> <return> <switch-frame> <switch-frame>
M-x h i g h l i <tab> r e <tab> <return> a <return>
M-x r e p o r <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Do `M-x highlight-regexp' with any pattern to invoke bug

face-name: Wrong type argument: symbolp, "hi-green"

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils hi-lock 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
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 73527 8937)
 (symbols 48 17463 0)
 (miscs 40 45 114)
 (strings 32 9680 4115)
 (string-bytes 1 258474)
 (vectors 16 9839)
 (vector-slots 8 401423 10857)
 (floats 8 74 272)
 (intervals 56 173 4)
 (buffers 960 12)
 (heap 1024 22961 900))



[Message part 3 (message/rfc822, inline)]
From: Juri Linkov <juri <at> jurta.org>
To: Mat Smiglarski <penthief <at> SDF.ORG>
Cc: 17956-done <at> debbugs.gnu.org
Subject: Re: bug#17956: 24.3.92;
 Calling highlight-regexp non-interactively causes errors from
 face-name
Date: Tue, 08 Jul 2014 12:03:57 +0300
Version: 24.3.92

> So it would be safer not to assume that a face can be only a symbol:

This regression is fixed now in the emacs-24 branch.


This bug report was last modified 10 years and 326 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.