GNU bug report logs - #18337
24.4.50; apropos fails on "scroll"

Previous Next

Package: emacs;

Reported by: Detlev Zundel <dzu <at> akk.org>

Date: Wed, 27 Aug 2014 15:42:02 UTC

Severity: normal

Tags: confirmed

Found in version 24.4.50

Done: npostavs <at> users.sourceforge.net

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 18337 in the body.
You can then email your comments to 18337 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#18337; Package emacs. (Wed, 27 Aug 2014 15:42:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Detlev Zundel <dzu <at> akk.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 27 Aug 2014 15:42:02 GMT) Full text and rfc822 format available.

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

From: Detlev Zundel <dzu <at> akk.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.4.50; apropos fails on "scroll"
Date: Wed, 27 Aug 2014 15:50:15 +0200
Simply call M-x apropos and enter "scroll".  This produces this error:

mapconcat: Wrong type argument: symbolp, 0

This error does not happen on all strings, but I don't see a clear
picture here.



In GNU Emacs 24.4.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.2)
 of 2014-08-27 on deepthought
Windowing system distributor `The X.Org Foundation', version 11.0.11600000
System Description:	Debian GNU/Linux unstable (sid)

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  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
  buffer-read-only: t
  line-number-mode: t

Recent input:
<escape> x a p r o p o s <return> s c r o l l <return> 
<escape> x r e p o r t - b u g <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
mapconcat: Wrong type argument: symbolp, 0

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message dired 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 apropos 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
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 79506 9305)
 (symbols 48 18257 0)
 (miscs 40 103 114)
 (strings 32 10953 4671)
 (string-bytes 1 299349)
 (vectors 16 9564)
 (vector-slots 8 391713 10077)
 (floats 8 70 63)
 (intervals 56 317 181)
 (buffers 976 13)
 (heap 1024 43147 862))

-- 
Practice random senselessness and act kind of beautiful.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18337; Package emacs. (Wed, 27 Aug 2014 15:48:01 GMT) Full text and rfc822 format available.

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

From: Drew Adams <drew.adams <at> oracle.com>
To: Detlev Zundel <dzu <at> akk.org>, 18337 <at> debbugs.gnu.org
Subject: RE: bug#18337: 24.4.50; apropos fails on "scroll"
Date: Wed, 27 Aug 2014 08:46:48 -0700 (PDT)
> Simply call M-x apropos and enter "scroll".  This produces this
> error:
> 
> mapconcat: Wrong type argument: symbolp, 0

FWIW, I cannot repro it with this build:

In GNU Emacs 24.4.50.1 (i686-pc-mingw32)
 of 2014-06-28 on ODIEONE
Bzr revision: 117431 rgm <at> gnu.org-20140628015517-eku6hj8mpgcvfnso
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/Devel/emacs/snapshot/trunk
 --enable-checking=yes,glyphs 'CFLAGS=-O0 -g3'
 LDFLAGS=-Lc:/Devel/emacs/lib 'CPPFLAGS=-DGC_MCHECK=1
 -Ic:/Devel/emacs/include''




Added tag(s) confirmed. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 27 Aug 2014 16:04:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18337; Package emacs. (Thu, 28 Aug 2014 09:05:02 GMT) Full text and rfc822 format available.

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

From: Detlev Zundel <dzu <at> akk.org>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 18337 <at> debbugs.gnu.org
Subject: Re: bug#18337: 24.4.50; apropos fails on "scroll"
Date: Thu, 28 Aug 2014 11:04:48 +0200
Hi Drew,

thanks for looking into this.

>> Simply call M-x apropos and enter "scroll".  This produces this
>> error:
>> 
>> mapconcat: Wrong type argument: symbolp, 0
>
> FWIW, I cannot repro it with this build:
>
> In GNU Emacs 24.4.50.1 (i686-pc-mingw32)
>  of 2014-06-28 on ODIEONE
> Bzr revision: 117431 rgm <at> gnu.org-20140628015517-eku6hj8mpgcvfnso
> Windowing system distributor `Microsoft Corp.', version 6.1.7601
> Configured using:
>  `configure --prefix=/c/Devel/emacs/snapshot/trunk
>  --enable-checking=yes,glyphs 'CFLAGS=-O0 -g3'
>  LDFLAGS=-Lc:/Devel/emacs/lib 'CPPFLAGS=-DGC_MCHECK=1
>  -Ic:/Devel/emacs/include''

Maybe I should add that this is a build from a
git://git.savannah.gnu.org/emacs.git - the last commit in there is:

  commit c4d022dad4d77869e4c8b8cefd4281fd0f3bd41a
  Author: Michael Albinus <michael.albinus <at> gmx.de>
  Date:   Wed Aug 27 13:22:37 2014 +0200
  
      * lisp.h (str_collate):
      * sysdep.c (str_collate): Return int.
      (str_collate) [__STDC_ISO_10646__]: Propagate error of wcscoll.
  

But back to the issue.  I debuged this a little bit and found this to be
the problem:

(when (setq properties (symbol-plist 'vertical-scroll-bar))
  (setq doc (list (car properties)))
  (while (setq properties (cdr (cdr properties)))
    (setq doc (cons (car properties) doc)))
  (nreverse doc))

=> (0 event-symbol-element-mask event-symbol-elements modifier-cache variable-documentation)
  
Applying 'symbol-name to that list then yields the error.  Why
vertical-scroll-bar has this plist is beyond me however.  Does this ring
a bell to someone?

Thanks
  Detlev

-- 
Applied mathematicians do it by computer simulation.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18337; Package emacs. (Thu, 28 Aug 2014 13:18:01 GMT) Full text and rfc822 format available.

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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Detlev Zundel <dzu <at> akk.org>
Cc: Drew Adams <drew.adams <at> oracle.com>, 18337 <at> debbugs.gnu.org
Subject: Re: bug#18337: 24.4.50; apropos fails on "scroll"
Date: Thu, 28 Aug 2014 09:17:04 -0400
> (when (setq properties (symbol-plist 'vertical-scroll-bar))
>   (setq doc (list (car properties)))
>   (while (setq properties (cdr (cdr properties)))
>     (setq doc (cons (car properties) doc)))
>   (nreverse doc))

> => (0 event-symbol-element-mask event-symbol-elements modifier-cache variable-documentation)
  
> Applying 'symbol-name to that list then yields the error.

Note that, while convention is to use a symbol for property names, that
is not the only valid choice.  0 is a valid property name (tho an odd
one, arguably).

So while this 0 should probably be changed the mapconcat code that burps
on it should probably be changed not to assume that only symbols will
be used as property names.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18337; Package emacs. (Fri, 29 Aug 2014 13:14:02 GMT) Full text and rfc822 format available.

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

From: Detlev Zundel <dzu <at> akk.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Dmitry Antipov <dmantipov <at> yandex.ru>, Drew Adams <drew.adams <at> oracle.com>,
 18337 <at> debbugs.gnu.org
Subject: Re: bug#18337: 24.4.50; apropos fails on "scroll"
Date: Fri, 29 Aug 2014 15:13:15 +0200
Hi Stefan,

[added Dmitry on CC as the changelog seems to make a connection to the
problem at hand]

>> (when (setq properties (symbol-plist 'vertical-scroll-bar))
>>   (setq doc (list (car properties)))
>>   (while (setq properties (cdr (cdr properties)))
>>     (setq doc (cons (car properties) doc)))
>>   (nreverse doc))
>
>> => (0 event-symbol-element-mask event-symbol-elements modifier-cache variable-documentation)
>   
>> Applying 'symbol-name to that list then yields the error.
>
> Note that, while convention is to use a symbol for property names, that
> is not the only valid choice.  0 is a valid property name (tho an odd
> one, arguably).

I think in this case it actually caught an error though.

> So while this 0 should probably be changed the mapconcat code that burps
> on it should probably be changed not to assume that only symbols will
> be used as property names.

Looking deeper, it turns out that the 0 results from this:

buffer.c:5473

  DEFSYM (Qvertical_scroll_bar, "vertical-scroll-bar");
  Fput (Qvertical_scroll_bar, Qchoice, list4 (Qnil, Qt, Qleft, Qright));
  DEFSYM (Qhorizontal_scroll_bar, "horizontal-scroll-bar");

  DEFSYM (Qfraction, "fraction");
  Fput (Qfraction, Qrange, Fcons (make_float (0.0), make_float (1.0)));

  DEFSYM (Qoverwrite_mode, "overwrite-mode");
  Fput (Qoverwrite_mode, Qchoice,
	list3 (Qnil, intern ("overwrite-mode-textual"),
	       intern ("overwrite-mode-binary")));

As far as I can tell, it should thus really be 'choice.  Actually both
vertical-scroll-bar and overwrite-mode have the problem:

(symbol-plist 'vertical-scroll-bar)

=> (0 (nil t left right) event-symbol-element-mask (vertical-scroll-bar 0) event-symbol-elements (vertical-scroll-bar) modifier-cache ((0 . vertical-scroll-bar)) variable-documentation 374228)

(symbol-plist 'overwrite-mode)

=> (0 (nil overwrite-mode-textual overwrite-mode-binary) event-symbol-element-mask (overwrite-mode 0) event-symbol-elements (overwrite-mode) modifier-cache ((0 . overwrite-mode)) :minor-mode-function binary-overwrite-mode variable-documentation 370277)

The changelog mentions this

2014-07-16  Dmitry Antipov  <dmantipov <at> yandex.ru>

	More precise control over values of some buffer-local variables.
	* keyboard.c (Qvertical_scroll_bar):
	* frame.c (Qleft, Qright): Move to ...
	* buffer.c (Qleft, Qright, Qvertical_scroll_bar): ... here.
	* buffer.c (Qchoice, Qrange, Qoverwrite_mode, Qfraction): New symbols.
	(syms_of_buffer): DEFSYM all of the above, attach special properties.
	Use special symbols to DEFVAR_PER_BUFFER overwrite-mode,
	vertical-scroll-bar, scroll-up-aggressively
	and scroll-down-aggressively.

Dmitry, do you know why the construct for choice fails?

Thanks
  Detlev
  
-- 
We can forgive a man for making a useful thing as long as he does not
admire it.  The only excuse  for making  a useless  thing is that one
admires it intensely.
                                    --- Oscar Wilde




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18337; Package emacs. (Thu, 11 Sep 2014 08:43:01 GMT) Full text and rfc822 format available.

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

From: Detlev Zundel <dzu <at> akk.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Dmitry Antipov <dmantipov <at> yandex.ru>, Drew Adams <drew.adams <at> oracle.com>,
 18337 <at> debbugs.gnu.org
Subject: Re: bug#18337: 24.4.50; apropos fails on "scroll"
Date: Thu, 11 Sep 2014 10:42:12 +0200
[Message part 1 (text/plain, inline)]
Hi,

> Hi Stefan,
>
> [added Dmitry on CC as the changelog seems to make a connection to the
> problem at hand]
>
>>> (when (setq properties (symbol-plist 'vertical-scroll-bar))
>>>   (setq doc (list (car properties)))
>>>   (while (setq properties (cdr (cdr properties)))
>>>     (setq doc (cons (car properties) doc)))
>>>   (nreverse doc))
>>
>>> => (0 event-symbol-element-mask event-symbol-elements
>>> modifier-cache variable-documentation)
>>   
>>> Applying 'symbol-name to that list then yields the error.
>>
>> Note that, while convention is to use a symbol for property names, that
>> is not the only valid choice.  0 is a valid property name (tho an odd
>> one, arguably).
>
> I think in this case it actually caught an error though.
>
>> So while this 0 should probably be changed the mapconcat code that burps
>> on it should probably be changed not to assume that only symbols will
>> be used as property names.
>
> Looking deeper, it turns out that the 0 results from this:
>
> buffer.c:5473
>
>   DEFSYM (Qvertical_scroll_bar, "vertical-scroll-bar");
>   Fput (Qvertical_scroll_bar, Qchoice, list4 (Qnil, Qt, Qleft, Qright));
>   DEFSYM (Qhorizontal_scroll_bar, "horizontal-scroll-bar");
>
>   DEFSYM (Qfraction, "fraction");
>   Fput (Qfraction, Qrange, Fcons (make_float (0.0), make_float (1.0)));
>
>   DEFSYM (Qoverwrite_mode, "overwrite-mode");
>   Fput (Qoverwrite_mode, Qchoice,
> 	list3 (Qnil, intern ("overwrite-mode-textual"),
> 	       intern ("overwrite-mode-binary")));
>
> As far as I can tell, it should thus really be 'choice.  Actually both
> vertical-scroll-bar and overwrite-mode have the problem:
>
> (symbol-plist 'vertical-scroll-bar)
>
> => (0 (nil t left right) event-symbol-element-mask (vertical-scroll-bar 0) event-symbol-elements (vertical-scroll-bar) modifier-cache ((0 . vertical-scroll-bar)) variable-documentation 374228)
>
> (symbol-plist 'overwrite-mode)
>
> => (0 (nil overwrite-mode-textual overwrite-mode-binary) event-symbol-element-mask (overwrite-mode 0) event-symbol-elements (overwrite-mode) modifier-cache ((0 . overwrite-mode)) :minor-mode-function binary-overwrite-mode variable-documentation 370277)
>
> The changelog mentions this
>
> 2014-07-16  Dmitry Antipov  <dmantipov <at> yandex.ru>
>
> 	More precise control over values of some buffer-local variables.
> 	* keyboard.c (Qvertical_scroll_bar):
> 	* frame.c (Qleft, Qright): Move to ...
> 	* buffer.c (Qleft, Qright, Qvertical_scroll_bar): ... here.
> 	* buffer.c (Qchoice, Qrange, Qoverwrite_mode, Qfraction): New symbols.
> 	(syms_of_buffer): DEFSYM all of the above, attach special properties.
> 	Use special symbols to DEFVAR_PER_BUFFER overwrite-mode,
> 	vertical-scroll-bar, scroll-up-aggressively
> 	and scroll-down-aggressively.
>
> Dmitry, do you know why the construct for choice fails?

The attached patch fixes the problem for me as the plist now looks like
this:

(symbol-plist 'vertical-scroll-bar)
=> (choice (nil t left right) event-symbol-element-mask (vertical-scroll-bar 0) event-symbol-elements (vertical-scroll-bar) modifier-cache ((0 . vertical-scroll-bar)) variable-documentation 374812)

Cheers
  Detlev
  
-- 
The 82558 B-step and later generation devices do not maintain a link
in D3 if PME is disabled or if the device does not have power.
                                        -- Intel documentation
[0001-src-buffer.c-syms_of_buffer-Add-forgotten-Qchoice-DE.patch (text/x-diff, inline)]
From 5294eb80883abc3fb06805f972693664b294079f Mon Sep 17 00:00:00 2001
From: Detlev Zundel <dzu <at> member.fsf.org>
Date: Thu, 11 Sep 2014 10:37:54 +0200
Subject: [PATCH] * src/buffer.c (syms_of_buffer): Add forgotten Qchoice DEFSYM

---
 src/ChangeLog | 4 ++++
 src/buffer.c  | 1 +
 2 files changed, 5 insertions(+)

diff --git a/src/ChangeLog b/src/ChangeLog
index e20072d..393fbe7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2014-09-11  Detlev Zundel  <dzu <at> member.fsf.org>
+
+	* buffer.c (syms_of_buffer): Add forgotten Qchoice DEFSYM
+
 2014-09-03  Martin Rudalics  <rudalics <at> gmx.at>
 
 	* buffer.c (scroll-bar-height): Fix typo in doc-string.
diff --git a/src/buffer.c b/src/buffer.c
index 45e614f..dd1e205 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5386,6 +5386,7 @@ syms_of_buffer (void)
   staticpro (&Qpermanent_local);
   staticpro (&Qkill_buffer_hook);
 
+  DEFSYM (Qchoice, "choice");
   DEFSYM (Qleft, "left");
   DEFSYM (Qright, "right");
   DEFSYM (Qrange, "range");
-- 
2.1.0


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18337; Package emacs. (Fri, 12 Sep 2014 11:17:01 GMT) Full text and rfc822 format available.

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

From: Dmitry Antipov <dmantipov <at> yandex.ru>
To: Detlev Zundel <dzu <at> akk.org>
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>,
 Drew Adams <drew.adams <at> oracle.com>, 18337 <at> debbugs.gnu.org
Subject: Re: bug#18337: 24.4.50; apropos fails on "scroll"
Date: Fri, 12 Sep 2014 15:16:51 +0400
On 09/11/2014 12:42 PM, Detlev Zundel wrote:

> * buffer.c (syms_of_buffer): Add forgotten Qchoice DEFSYM

Thanks, installed as r117868.

Dmitry





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#18337; Package emacs. (Fri, 12 Sep 2014 16:43:03 GMT) Full text and rfc822 format available.

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

From: Detlev Zundel <dzu <at> member.fsf.org>
To: Dmitry Antipov <dmantipov <at> yandex.ru>
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>,
 Drew Adams <drew.adams <at> oracle.com>, 18337 <at> debbugs.gnu.org
Subject: Re: bug#18337: 24.4.50; apropos fails on "scroll"
Date: Fri, 12 Sep 2014 14:33:21 +0200
Hi Dmitry,

> On 09/11/2014 12:42 PM, Detlev Zundel wrote:
>
>> * buffer.c (syms_of_buffer): Add forgotten Qchoice DEFSYM
>
> Thanks, installed as r117868.

Thanks!
  Detlev

-- 
I haven't lost my mind, I know exactly where I left it.




bug closed, send any further explanations to 18337 <at> debbugs.gnu.org and Detlev Zundel <dzu <at> akk.org> Request was from npostavs <at> users.sourceforge.net to control <at> debbugs.gnu.org. (Sat, 25 Mar 2017 06:25:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 22 Apr 2017 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 26 days ago.

Previous Next


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