GNU bug report logs -
#16103
24.3.50; `read' and circular objects
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Tue, 10 Dec 2013 20:52:02 UTC
Severity: minor
Found in version 24.3.50
Done: Andreas Schwab <schwab <at> linux-m68k.org>
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 16103 in the body.
You can then email your comments to 16103 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16103
; Package
emacs
.
(Tue, 10 Dec 2013 20:52:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Drew Adams <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Tue, 10 Dec 2013 20:52:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Dunno whether this is a bug. If it is not, I'd appreciate some help
understanding it. (elisp) `Circular Objects' does not seem to cover it,
AFAICT.
This Lisp code is in a file:
((last-sort-comparer
(bmkp-info-cp bmkp-gnus-cp bmkp-url-cp bmkp-local-file-type-cp)
bmkp-alpha-p)
(last-reverse-sort-p)
(last-reverse-multi-sort-p)
(last-latest-bookmark-alist #1=(#4=#("setq" 0 4
(bmkp-full-record #1#))
(filename . "~/.emacs")
(buffer-name . ".emacs")
(front-context-string . " (append (l")
(rear-context-string . "(setq load-path\n")
(front-context-region-string)
(rear-context-region-string)
(visits . 0)
(time . #2=(21158 44564 146055 551000))
(created . #2#)
(position . 17)))
(last-bmenu-omitted-bookmarks)
(last-bmenu-marked-bookmarks)
(last-bmenu-filter-function)
(last-bmenu-filter-pattern . #3="")
(last-bmenu-title . #3#)
(last-bmenu-bookmark . #4#)
(last-specific-buffer . #3#)
(last-specific-file . #3#)
(last-bmenu-toggle-filenames . t)
(last-bmenu-before-hide-marked-alist)
(last-bmenu-before-hide-unmarked-alist)
(last-bookmark-file . "/home/fcihh/.emacs.bmk"))
With point at bob in the file, I do (read (current-buffer)), and this
is the result:
((last-sort-comparer
(bmkp-info-cp bmkp-gnus-cp bmkp-url-cp bmkp-local-file-type-cp)
bmkp-alpha-p)
(last-reverse-sort-p)
(last-reverse-multi-sort-p)
(last-latest-bookmark-alist
(#("setq" 0 4
(bmkp-full-record #2))
(filename . "~/.emacs")
(buffer-name . ".emacs")
(front-context-string . " (append (l")
(rear-context-string . "(setq load-path\n")
(front-context-region-string)
(rear-context-region-string)
(visits . 0)
(time 21158 44564 146055 551000)
(created 21158 44564 146055 551000)
(position . 17)))
(last-bmenu-omitted-bookmarks)
(last-bmenu-marked-bookmarks)
(last-bmenu-filter-function)
(last-bmenu-filter-pattern . "")
(last-bmenu-title . "")
(last-bmenu-bookmark .
#("setq" 0 4
(bmkp-full-record
(#2
(filename . "~/.emacs")
(buffer-name . ".emacs")
(front-context-string . " (append (l")
(rear-context-string . "(setq load-path\n")
(front-context-region-string)
(rear-context-region-string)
(visits . 0)
(time 21158 44564 146055 551000)
(created 21158 44564 146055 551000)
(position . 17)))))
(last-specific-buffer . "")
(last-specific-file . "")
(last-bmenu-toggle-filenames . t)
(last-bmenu-before-hide-marked-alist)
(last-bmenu-before-hide-unmarked-alist)
(last-bookmark-file . "/home/fcihh/.emacs.bmk"))
Notice the remaining #2 occurrences. I would have expected the above
pp-written sexp to be similar to what was in the file: a representation
of similar circular list structure.
Or if not that, I would at least expect that all #-notation references
to shared structure would be resolved, so that there are no orphaned
references like #2.
I would prefer to have `read' give me the (equivalent/similar) list
structure, with circularities. But I could probably live with
`read' giving me a tree with copies where there originally was shared
structure (i.e., all # references resolved).
What I'm seeing looks to me like a bug. Help understanding is
appreciated. I write out a list structure that has circularities,
and I want to `read' the result to get back a similar structure. What
should I be doing differently, or what is it that I need to be aware
of, that I'm currently missing? Thx.
In GNU Emacs 24.3.50.2 (i686-pc-mingw32)
of 2013-11-28 on LEG570
Bzr revision: 115271 rgm <at> gnu.org-20131128203155-qjc1xsp19z2k64b2
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1'
Reply sent
to
Andreas Schwab <schwab <at> linux-m68k.org>
:
You have taken responsibility.
(Tue, 10 Dec 2013 22:48:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Drew Adams <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Tue, 10 Dec 2013 22:48:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 16103-done <at> debbugs.gnu.org (full text, mbox):
You didn't set print-circle.
Andreas.
--
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16103
; Package
emacs
.
(Tue, 10 Dec 2013 23:06:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 16103-done <at> debbugs.gnu.org (full text, mbox):
> You didn't set print-circle.
Sorry, I don't understand. Why do you say that?
Could you please elaborate?
The code does set `print-circle' (to `t') when it writes the
sexp using `pp'. The sexp in the file shows that, no?
Do you see a problem with the sexp as printed in the file?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16103
; Package
emacs
.
(Wed, 11 Dec 2013 00:33:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 16103-done <at> debbugs.gnu.org (full text, mbox):
Drew Adams <drew.adams <at> oracle.com> writes:
> > You didn't set print-circle.
>
> Sorry, I don't understand. Why do you say that?
I guess he meant the second action, when you did
(read (current-buffer))
Did you have print-circle t there, too, when the result of `read' was
printed?
Regards,
Michael.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16103
; Package
emacs
.
(Wed, 11 Dec 2013 01:23:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 16103-done <at> debbugs.gnu.org (full text, mbox):
> > > You didn't set print-circle.
> >
> > Sorry, I don't understand. Why do you say that?
>
> I guess he meant the second action, when you did
> (read (current-buffer)) Did you have print-circle t there,
> too, when the result of `read' was printed?
Ah, right. I just used `pp-last-expression'. Thx, Michael.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 08 Jan 2014 12:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 11 years and 223 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.