bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

The function prin1 prints "..." at the end of a long list.


From: Matthieu Moy
Subject: The function prin1 prints "..." at the end of a long list.
Date: Tue, 15 Apr 2003 16:11:28 +0200
User-agent: Gnus/5.090007 (Oort Gnus v0.07) Emacs/21.2 (sparc-sun-solaris2.5.1)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]