unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#14390: 24.3.50; (wrong-type-argument stringp t) from `read-regexp'
@ 2013-05-11 21:54 Drew Adams
  2013-05-11 23:17 ` Juri Linkov
  0 siblings, 1 reply; 3+ messages in thread
From: Drew Adams @ 2013-05-11 21:54 UTC (permalink / raw)
  To: 14390

The backtrace is not from emacs -Q, but I think the same problem is there.
 
`read-regexp' binds SUGGESTIONS to this:
 
(append
  suggestions
  (list
   (find-tag-default-as-regexp) ; <======= SHOULD return a string
   (car regexp-search-ring)
   (regexp-quote (or (car search-ring) ""))
   (car (symbol-value query-replace-from-history-variable))))
 
The problem is (find-tag-default-as-regexp), which will return `t' when
TAG is nil.  `t' is not a valid suggestion: SUGGESTIONS must be a list
of strings.
 
Debugger entered--Lisp error: (wrong-type-argument stringp t)
* icicle-ORIG-read-from-minibuffer("Flush lines containing match for regexp: " t
nil nil regexp-history (t "^\\*.*" "keep-lines-read-args"
"bookmarkp-bmenu-show-only-varlists") t)
* read-from-minibuffer("Flush lines containing match for regexp: " nil nil nil
regexp-history (t "^\\*.*" "keep-lines-read-args"
"bookmarkp-bmenu-show-only-varlists") t)
* read-regexp("Flush lines containing match for regexp")
* (list (read-regexp prompt) nil nil t)
* (lambda (prompt) "Read arguments for `keep-lines' and friends.\nPrompt for a
regexp with PROMPT.\nValue is a list, (REGEXP)." (list (read-regexp prompt) nil
nil t))("Flush lines containing match for regexp")
* apply((lambda (prompt) "Read arguments for `keep-lines' and friends.\nPrompt
for a regexp with PROMPT.\nValue is a list, (REGEXP)." (list (read-regexp
prompt) nil nil t)) "Flush lines containing match for regexp")
* keep-lines-read-args("Flush lines containing match for regexp")
  (progn (barf-if-buffer-read-only) (keep-lines-read-args "Flush lines
containing match for regexp"))
  call-interactively(flush-lines record-it)
  icicle-execute-extended-command-1("flush-lines")
  ...
  funcall(...)
  icicle-execute-extended-command()
  call-interactively(icicle-execute-extended-command nil nil)
  command-execute(icicle-execute-extended-command)
 
 
 

In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
 of 2013-05-10 on ODIEONE
Bzr revision: 112542 rgm@gnu.org-20130510102119-fklj7xlajezey0tr
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.7) --no-opt --enable-checking --cflags
 -IC:/Devel/emacs/build/include --ldflags -LC:/Devel/emacs/build/lib'
 






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

* bug#14390: 24.3.50; (wrong-type-argument stringp t) from `read-regexp'
  2013-05-11 21:54 bug#14390: 24.3.50; (wrong-type-argument stringp t) from `read-regexp' Drew Adams
@ 2013-05-11 23:17 ` Juri Linkov
  2013-05-14 23:40   ` Juri Linkov
  0 siblings, 1 reply; 3+ messages in thread
From: Juri Linkov @ 2013-05-11 23:17 UTC (permalink / raw)
  To: Drew Adams; +Cc: 14390

> The problem is (find-tag-default-as-regexp), which will return `t' when
> TAG is nil.  `t' is not a valid suggestion: SUGGESTIONS must be a list
> of strings.

An empty string return value for the case when TAG is nil
was lost when copying this code from `read-regexp'
to `find-tag-default-as-regexp' in revno:111971.
It could be restored back with:

=== modified file 'lisp/subr.el'
--- lisp/subr.el	2013-04-27 23:07:46 +0000
+++ lisp/subr.el	2013-05-11 23:16:36 +0000
@@ -2715,7 +2715,7 @@ (defun find-tag-default-as-regexp ()
 		   (get major-mode 'find-tag-default-function)
 		   'find-tag-default))
 	 (tag (funcall tagf)))
-    (cond ((not tag))
+    (cond ((not tag) "")
 	  ((eq tagf 'find-tag-default)
 	   (format "\\_<%s\\_>" (regexp-quote tag)))
 	  (t (regexp-quote tag)))))

BTW, the same commit revno:111971 introduced the function
`hi-lock-read-regexp-defaults'.  I think this is a good thing,
and I propose to improve it by adding `read-regexp-defaults-or-tag'
and `read-regexp-defaults-or-history' as we were discussing a month ago.





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

* bug#14390: 24.3.50; (wrong-type-argument stringp t) from `read-regexp'
  2013-05-11 23:17 ` Juri Linkov
@ 2013-05-14 23:40   ` Juri Linkov
  0 siblings, 0 replies; 3+ messages in thread
From: Juri Linkov @ 2013-05-14 23:40 UTC (permalink / raw)
  To: Drew Adams; +Cc: 14390-done

> === modified file 'lisp/subr.el'
> --- lisp/subr.el	2013-04-27 23:07:46 +0000
> +++ lisp/subr.el	2013-05-11 23:16:36 +0000
> @@ -2715,7 +2715,7 @@ (defun find-tag-default-as-regexp ()
>  		   (get major-mode 'find-tag-default-function)
>  		   'find-tag-default))
>  	 (tag (funcall tagf)))
> -    (cond ((not tag))
> +    (cond ((not tag) "")

After looking more at this, I think it should return nil
because its accompanying function `find-tag-default' returns nil,
not an empty string, if there is no default tag at point.

This is fixed now.

> BTW, the same commit revno:111971 introduced the function
> `hi-lock-read-regexp-defaults'.  I think this is a good thing,
> and I propose to improve it by adding `read-regexp-defaults-tag'
> and `read-regexp-defaults-history' as we were discussing a month ago.

I'll create a separate request for this.





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

end of thread, other threads:[~2013-05-14 23:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-11 21:54 bug#14390: 24.3.50; (wrong-type-argument stringp t) from `read-regexp' Drew Adams
2013-05-11 23:17 ` Juri Linkov
2013-05-14 23:40   ` Juri Linkov

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