all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* The function prin1 prints "..." at the end of a long list.
@ 2003-04-15 14:11 Matthieu Moy
  2003-04-15 14:41 ` John Paul Wallington
  0 siblings, 1 reply; 3+ messages in thread
From: Matthieu Moy @ 2003-04-15 14:11 UTC (permalink / raw)


This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English, because the Emacs maintainers do not have
translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
and to the gnu.emacs.bug news group.

In GNU Emacs 21.2.2 (sparc-sun-solaris2.5.1, X toolkit)
 of 2002-08-05 on crx968
configured using `configure  --prefix=/var/tmp/bgm'
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: C
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

Hi,

The  function  prin1  sometimes  truncates  the end  of  a  long  list
(auto-mode-alist is a good example of such list):

M-: (prin1 auto-mode-alist (current-buffer)) RET gives exactly this:

(("\\.rc$" . c-mode) ("\\.h$" . c++-mode) ("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr) ("\\.bz2\\'" nil jka-compr) ("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr) ("README\\|LISEZ" . text-mode) ("\\.muttrc$" . shell-script-mode) ("\\.fvwm.*rc$" . shell-script-mode) ("\\.sw$" . scheme-mode) ("\\.adb\\.dg\\'" . ada-mode) ...)

So, the end of the list is truncated and replaced by "...". 

To be  sure that  the actual value  of auto-mode-alist is  longer than
this, I can do

M-: (prin1 (cdddr (cdddr auto-mode-alist)) (current-buffer)) RET

(("\\.muttrc$" . shell-script-mode) ("\\.fvwm.*rc$" . shell-script-mode) ("\\.sw$" . scheme-mode) ("\\.adb\\.dg\\'" . ada-mode) ("\\.ads\\.dg\\'" . ada-mode) ("\\.adb\\'" . ada-mode) ("\\.ads\\'" . ada-mode) ("\\.tre$" . trek-mode) ("\\.te?xt\\'" . text-mode) ("\\.c\\'" . c-mode) ...)

See, some  items are still beyond  the "...", but they  were not shown
previously.


This  happens also when  I do  a C-h  v auto-mode-alist,  for example.
(Well, not surprising, because C-h v calls pp, which calls prin1)

More  serious, it seems  that Gnus  uses this  function to  save SCORE
files, so, I often have a score file like this one :

----- File SCORE ---------------------------
(("references"
  ("<ph2n0ji1ew5.fsf@st.com>" 500 731300 s)
  ("<ph2znni1pk2.fsf@st.com>" 500 731306 s)
  ("<ph2brzy351f.fsf@st.com>" 500 731300 s)
  ("<ph2fzpa357i.fsf@st.com>" 500 731300 s)
  ("<ph265qc534k.fsf@st.com>" 500 731306 s)
  ("<ph2k7et3w5s.fsf@st.com>" 500 731306 s)
  ("<ph2d6kou2nx.fsf@st.com>" 500 731306 s)
  ("<ph21y1auixs.fsf@st.com>" 500 731306 s)
  ("<ph2bs0eupgm.fsf@st.com>" 500 731306 s)
  ...))
--------------------------------------------

And this prevents me from opening the group, so I have to delete those
"..." manually, and I've lost most of the scoring information. 

(Else, opening a  group gives me an error  "Wrong type argument, listp
\.\.\.")

Now,  more fun  :  I launch  another  Emacs session,  and  in the  new
session, everything works as expected : C-h v auto-mode-alist shows me
the full value,  and so on. The problem seems  to happen randomly, but
when it happens  once, then, it will continue to  happen until the end
of the session.

I have the same problem on a Solaris box and a Linux (Debian 3.0) box,
both with Emacs 21.2. 

Is this a known bug ? Is there a workaround ? 

Thanks,

Recent input:
1 SPC a u t o - m o d e M-/ <return> C-h f <return> 
<C-tab> C-x b s c r <return> M-: <up> C-e <left> SPC 
( c u r r e n t - b u f f e r ) <return> C-h f <up> 
<up> <up> <up> C-k p r i n 1 - t o <tab> <return> <C-tab> 
q M-x e m a c s - b u g <tab> <backspace> <tab> <backspace> 
<backspace> r e <backspace> <backspace> C-a C-k b u 
g <backspace> <backspace> <backspace> r e p o r t - 
<tab> <return>

Recent messages:
nnml: Reading incoming mail (no new mail)...done
nndiary: Reading incoming mail from file...
nndiary: Reading incoming mail (no new mail)...done
Checking new news...done
No gnus is bad news
No mail
(("\\.rc$" . c-mode) ("\\.h$" . c++-mode) ("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr) ("\\.bz2\\'" nil jka-compr) ("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr) ("README\\|LISEZ" . text-mode) ("\\.muttrc$" . shell-script-mode) ("\\.fvwm.*rc$" . shell-script-mode) ("\\.sw$" . scheme-mode) ("\\.adb\\.dg\\'" . ada-mode) ...)(("\\.rc$" . c-mode) ("\\.h$" . c++-mode) ("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr) ("\\.bz2\\'" nil jka-compr) ("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr) ("README\\|LISEZ" . text-mode) ("\\.muttrc$" . shell-script-mode) ("\\.fvwm.*rc$" . shell-script-mode) ("\\.sw$" . scheme-mode) ("\\.adb\\.dg\\'" . ada-mode) ("\\.ads\\.dg\\'" . ada-mode) ("\\.adb\\'" . ada-mode) ...)
(("\\.rc$" . c-mode) ("\\.h$" . c++-mode) ("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr) ("\\.bz2\\'" nil jka-compr) ("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" nil jka-compr) ("README\\|LISEZ" . text-mode) ("\\.muttrc$" . shell-script-mode) ("\\.fvwm.*rc$" . shell-script-mode) ("\\.sw$" . scheme-mode) ("\\.adb\\.dg\\'" . ada-mode) ("\\.ads\\.dg\\'" . ada-mode) ("\\.adb\\'" . ada-mode) ...)
Type M-x switch-to-buffer-other-window RET to restore the other window.  C-M-v to scroll the help.
Loading emacsbug...done

-- 
Matthieu MOY
Ph. D Student at STMicroelectronics and Verimag -- SysAr Team

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

* Re: The function prin1 prints "..." at the end of a long list.
  2003-04-15 14:11 The function prin1 prints "..." at the end of a long list Matthieu Moy
@ 2003-04-15 14:41 ` John Paul Wallington
       [not found]   ` <ph2fzojg4o8.fsf@st.com>
  0 siblings, 1 reply; 3+ messages in thread
From: John Paul Wallington @ 2003-04-15 14:41 UTC (permalink / raw)
  Cc: bug-gnu-emacs

> The  function  prin1  sometimes  truncates  the end  of  a  long  list
> (auto-mode-alist is a good example of such list):
[...]
> Now,  more fun  :  I launch  another  Emacs session,  and  in the  new
> session, everything works as expected : C-h v auto-mode-alist shows me
> the full value,  and so on. The problem seems  to happen randomly, but
> when it happens  once, then, it will continue to  happen until the end
> of the session.
> 
> I have the same problem on a Solaris box and a Linux (Debian 3.0) box,
> both with Emacs 21.2. 

What is the value of `print-length' in the misbehaving session?  Maybe
some code set rather than bound it to a non-nil value.

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

* Re: The function prin1 prints "..." at the end of a long list.
       [not found]   ` <ph2fzojg4o8.fsf@st.com>
@ 2003-04-15 16:23     ` John Paul Wallington
  0 siblings, 0 replies; 3+ messages in thread
From: John Paul Wallington @ 2003-04-15 16:23 UTC (permalink / raw)
  Cc: bug-gnu-emacs

Matthieu Moy <Matthieu.Moy@st.com> wrote:

>>> The  function  prin1  sometimes  truncates  the end  of  a  long  list
>>> (auto-mode-alist is a good example of such list):
>> [This corrupts my SCORE file in Gnus]
>>> Now,  more fun  :  I launch  another  Emacs session,  and  in the  new
>>> session, everything works as expected : C-h v auto-mode-alist shows me
>>> the full value,  and so on. The problem seems  to happen randomly, but
>>> when it happens  once, then, it will continue to  happen until the end
>>> of the session.
>>> 
>>> I have the same problem on a Solaris box and a Linux (Debian 3.0) box,
>>> both with Emacs 21.2. 
>>
>> What is the value of `print-length' in the misbehaving session?  Maybe
>> some code set rather than bound it to a non-nil value.
>
> Yep, that's  it. The  value is  10 in a  buggy session,  and nil  in a
> "sane" session. 
[...]
> So, it seems to me that there are actually 2 bugs :
>
> * Something has set my print-level  without my asking for it. This may
>   be  a  Gnus  bug or  an  Emacs  bug.  (Or  something obscure  in  my
>   configuration, but grep doesn't agree on that ...)

On cursory examination I don't see how it would be set rather than
bound by Emacs sources, or where it would get the value 10.  Have you
customized `eval-expression-print-length' or loaded the cust-print
library?  Perhaps it is set by the debugger/edebug ?

> * The dump of  the SCORE file does is  not protected against incorrect
>   print-length. This is a Gnus bug.

You have suggested a patch to the Gnus maintainers, so this aspect of
your bug will fixed by them, I guess.

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

end of thread, other threads:[~2003-04-15 16:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-15 14:11 The function prin1 prints "..." at the end of a long list Matthieu Moy
2003-04-15 14:41 ` John Paul Wallington
     [not found]   ` <ph2fzojg4o8.fsf@st.com>
2003-04-15 16:23     ` John Paul Wallington

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.