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


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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





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.