* bug#28700: 25.2; Cannot kill Eshell buffer
@ 2017-10-04 9:57 Live System User
2017-10-04 11:56 ` Noam Postavsky
2017-10-05 8:09 ` martin rudalics
0 siblings, 2 replies; 19+ messages in thread
From: Live System User @ 2017-10-04 9:57 UTC (permalink / raw)
To: 28700
Hi,
I cannot kill an Eshell buffer.
When I attekpt to kill it either by `(kill-buffer)`
"C-x k" or `(save-buffers-kill-terminal)` "C-x C-c"
I get the error:
run-hooks: Text is read-only
`kill-buffer-hook` is:
kill-buffer-hook is a variable defined in ‘files.el’.
Its value is (t eshell-kill-buffer-function)
Local in buffer *eshell*; global value is
(tramp-delete-temp-file-function uniquify-kill-buffer-function vc-kill-buffer-hook)
Thank.
In GNU Emacs 25.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.20.10)
of 2017-05-02 built on buildvm-17.phx2.fedoraproject.org
Windowing system distributor 'Fedora Project', version 11.0.11803000
Configured using:
'configure --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --program-prefix=
--disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
--bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
--libexecdir=/usr/libexec --localstatedir=/var
--sharedstatedir=/var/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
--with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
--with-gpm=no --with-xwidgets --with-modules
build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu
'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
--param=ssp-buffer-size=4 -grecord-gcc-switches
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic'
LDFLAGS=-Wl,-z,relro
PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES XWIDGETS
Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Buffer Menu
Minor modes in effect:
tooltip-mode: t
global-eldoc-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
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
transient-mark-mode: t
Recent messages:
250 2.1.0 Ok
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF>
Sending email
Sending email done
250 2.0.0 Ok: queued as 1A2883800008D
221 2.0.0 Bye
Sending...done
Load-path shadows:
None found.
Features:
(misearch multi-isearch rect mailalias smtpmail face-remap shadow
emacsbug sendmail shr-color color shr dom subr-x browse-url debug
nnagent nnml pp gnus-dup sort gnus-cite smiley ansi-color mail-extr qp
gnus-async gnus-bcklg gnus-ml disp-table cursor-sensor nndraft nnmh
nndoc mm-archive jka-compr timezone url-http url-gw url-cache url-auth
url-handlers utf-7 rfc2104 nnfolder network-stream nsm starttls
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp
gnus-cache epa-file epa derived nnreddit mm-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util url-parse auth-source cl-seq eieio eieio-core cl-macs url-vars
json map seq byte-opt bytecomp byte-compile cl-extra cconv gnus-art
mm-uu mml2015 mm-view mml-smime smime dig mailcap cl gv sieve sieve-mode
sieve-manage nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud
nnimap nnmail mail-source tls gnutls utf7 netrc parse-time gnus-spec
gnus-int gnus-range message dired format-spec rfc822 mml mml-sec
password-cache epg epg-config mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader
gnus-win gnus gnus-ems wid-edit nnoo nnheader gnus-util mm-util help-fns
help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr mail-utils
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded 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 dbusbind inotify dynamic-setting
system-font-setting font-render-setting xwidget-internal move-toolbar
gtk x-toolkit x multi-tty make-network-process emacs)
Memory information:
((conses 16 256618 98808)
(symbols 48 63384 57)
(miscs 40 296 557)
(strings 32 92176 94506)
(string-bytes 1 2792305)
(vectors 16 29987)
(vector-slots 8 1097868 133031)
(floats 8 588 1436)
(intervals 56 6441 153)
(buffers 976 88)
(heap 1024 71182 572023))
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 9:57 bug#28700: 25.2; Cannot kill Eshell buffer Live System User
@ 2017-10-04 11:56 ` Noam Postavsky
2017-10-04 14:13 ` Live System User
2017-10-05 8:09 ` martin rudalics
1 sibling, 1 reply; 19+ messages in thread
From: Noam Postavsky @ 2017-10-04 11:56 UTC (permalink / raw)
To: Live System User; +Cc: 28700
Live System User <nyc4bos@aol.com> writes:
> Hi,
>
> I cannot kill an Eshell buffer.
>
> When I attekpt to kill it either by `(kill-buffer)`
> "C-x k" or `(save-buffers-kill-terminal)` "C-x C-c"
> I get the error:
>
> run-hooks: Text is read-only
>
> `kill-buffer-hook` is:
>
> kill-buffer-hook is a variable defined in ‘files.el’.
> Its value is (t eshell-kill-buffer-function)
> Local in buffer *eshell*; global value is
> (tramp-delete-temp-file-function uniquify-kill-buffer-function vc-kill-buffer-hook)
Can you get a backtrace if you M-x toggle-debug-on-error RET?
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 11:56 ` Noam Postavsky
@ 2017-10-04 14:13 ` Live System User
2017-10-04 14:19 ` Noam Postavsky
0 siblings, 1 reply; 19+ messages in thread
From: Live System User @ 2017-10-04 14:13 UTC (permalink / raw)
To: Noam Postavsky; +Cc: 28700
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> Live System User <nyc4bos@aol.com> writes:
>
>> Hi,
>>
>> I cannot kill an Eshell buffer.
>>
>> When I attekpt to kill it either by `(kill-buffer)`
>> "C-x k" or `(save-buffers-kill-terminal)` "C-x C-c"
>> I get the error:
>>
>> run-hooks: Text is read-only
>>
>> `kill-buffer-hook` is:
>>
>> kill-buffer-hook is a variable defined in ‘files.el’.
>> Its value is (t eshell-kill-buffer-function)
>> Local in buffer *eshell*; global value is
>> (tramp-delete-temp-file-function uniquify-kill-buffer-function vc-kill-buffer-hook)
>
> Can you get a backtrace if you M-x toggle-debug-on-error RET?
Ufortunately no;
debug-on-error is a variable defined in ‘C source code’.
Its value is t
Original value was nil
Only that *Message* buffer imfomation.
Thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 14:13 ` Live System User
@ 2017-10-04 14:19 ` Noam Postavsky
2017-10-04 15:21 ` Live System User
0 siblings, 1 reply; 19+ messages in thread
From: Noam Postavsky @ 2017-10-04 14:19 UTC (permalink / raw)
To: Live System User; +Cc: 28700
On Wed, Oct 4, 2017 at 10:13 AM, Live System User <nyc4bos@aol.com> wrote:
>> Can you get a backtrace if you M-x toggle-debug-on-error RET?
>
> Ufortunately no;
>
> debug-on-error is a variable defined in ‘C source code’.
> Its value is t
> Original value was nil
>
>
> Only that *Message* buffer imfomation.
Does setting debug-on-message set to "Text is read-only" help?
Or with debug-on-signal set to t? (You might have to continue ('c' in
the *Backtrace* buffer) if you hit some unrelated errors that are
normally suppressed)
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 14:19 ` Noam Postavsky
@ 2017-10-04 15:21 ` Live System User
2017-10-04 16:42 ` Noam Postavsky
0 siblings, 1 reply; 19+ messages in thread
From: Live System User @ 2017-10-04 15:21 UTC (permalink / raw)
To: Noam Postavsky; +Cc: 28700
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> On Wed, Oct 4, 2017 at 10:13 AM, Live System User <nyc4bos@aol.com> wrote:
>>> Can you get a backtrace if you M-x toggle-debug-on-error RET?
>>
>> Ufortunately no;
>>
>> debug-on-error is a variable defined in ‘C source code’.
>> Its value is t
>> Original value was nil
>>
>>
>> Only that *Message* buffer imfomation.
>
> Does setting debug-on-message set to "Text is read-only" help?
> Or with debug-on-signal set to t? (You might have to continue ('c' in
> the *Backtrace* buffer) if you hit some unrelated errors that are
> normally suppressed)
Unfortunately, no ro both:
debug-on-message is a variable defined in ‘C source code’.
Its value is "Text is read-only"
debug-on-signal is a variable defined in ‘C source code’.
Its value is t
Original value was nil
Only the "run-hooks: Text is read-only" message
in the *Message* buffer appears.
Thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 15:21 ` Live System User
@ 2017-10-04 16:42 ` Noam Postavsky
2017-10-04 18:27 ` Live System User
0 siblings, 1 reply; 19+ messages in thread
From: Noam Postavsky @ 2017-10-04 16:42 UTC (permalink / raw)
To: Live System User; +Cc: 28700
On Wed, Oct 4, 2017 at 11:21 AM, Live System User <nyc4bos@aol.com> wrote:
>
> Unfortunately, no ro both:
>
> debug-on-message is a variable defined in ‘C source code’.
> Its value is "Text is read-only"
>
>
> debug-on-signal is a variable defined in ‘C source code’.
> Its value is t
> Original value was nil
>
>
> Only the "run-hooks: Text is read-only" message
> in the *Message* buffer appears.
Hmm, can you eval each function in the hook value individually and see
which gets the error then?
M-: (tramp-delete-temp-file-function)
M-: (uniquify-kill-buffer-function)
etc.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 16:42 ` Noam Postavsky
@ 2017-10-04 18:27 ` Live System User
2017-10-04 18:32 ` Noam Postavsky
0 siblings, 1 reply; 19+ messages in thread
From: Live System User @ 2017-10-04 18:27 UTC (permalink / raw)
To: Noam Postavsky; +Cc: 28700
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> On Wed, Oct 4, 2017 at 11:21 AM, Live System User <nyc4bos@aol.com> wrote:
>>
>> Unfortunately, no ro both:
>>
>> debug-on-message is a variable defined in ‘C source code’.
>> Its value is "Text is read-only"
>>
>>
>> debug-on-signal is a variable defined in ‘C source code’.
>> Its value is t
>> Original value was nil
>>
>>
>> Only the "run-hooks: Text is read-only" message
>> in the *Message* buffer appears.
>
> Hmm, can you eval each function in the hook value individually and see
> which gets the error then?
>
> M-: (tramp-delete-temp-file-function)
> M-: (uniquify-kill-buffer-function)
> etc.
They all evaluate to nil
.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 18:27 ` Live System User
@ 2017-10-04 18:32 ` Noam Postavsky
2017-10-04 19:50 ` Live System User
0 siblings, 1 reply; 19+ messages in thread
From: Noam Postavsky @ 2017-10-04 18:32 UTC (permalink / raw)
To: Live System User; +Cc: 28700
On Wed, Oct 4, 2017 at 2:27 PM, Live System User <nyc4bos@aol.com> wrote:
>
> They all evaluate to nil
Hmm, so maybe the run-hooks is a red herring. Could you instrument
kill-buffer with edebug, and step through to find where the error
happens?
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 18:32 ` Noam Postavsky
@ 2017-10-04 19:50 ` Live System User
2017-10-04 19:56 ` Noam Postavsky
0 siblings, 1 reply; 19+ messages in thread
From: Live System User @ 2017-10-04 19:50 UTC (permalink / raw)
To: Noam Postavsky; +Cc: 28700
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> On Wed, Oct 4, 2017 at 2:27 PM, Live System User <nyc4bos@aol.com> wrote:
>>
>> They all evaluate to nil
>
> Hmm, so maybe the run-hooks is a red herring. Could you instrument
> kill-buffer with edebug, and step through to find where the error
> happens?
I don't know how to invoke or use Edebug.
Can you give me step-by-step instructions?
BTW, is it possible to Edebug `kill-buffer` ?
kill-buffer is an interactive built-in function in ‘C source code’.
It is bound to C-x k.
Thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 19:50 ` Live System User
@ 2017-10-04 19:56 ` Noam Postavsky
2017-10-04 22:12 ` Live System User
0 siblings, 1 reply; 19+ messages in thread
From: Noam Postavsky @ 2017-10-04 19:56 UTC (permalink / raw)
To: Live System User; +Cc: 28700
On Wed, Oct 4, 2017 at 3:50 PM, Live System User <nyc4bos@aol.com> wrote:
> Can you give me step-by-step instructions?
>
> BTW, is it possible to Edebug `kill-buffer` ?
>
>
> kill-buffer is an interactive built-in function in ‘C source code’.
Oops, sorry, it is indeed not possible to edebug C code. I don't
suppose you've built your emacs with debug info so you could step with
gdb?
Do you know how to reproduce this situation starting from 'emacs -Q',
or is it a one-off fluke?
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 19:56 ` Noam Postavsky
@ 2017-10-04 22:12 ` Live System User
2017-10-04 23:48 ` Noam Postavsky
0 siblings, 1 reply; 19+ messages in thread
From: Live System User @ 2017-10-04 22:12 UTC (permalink / raw)
To: Noam Postavsky; +Cc: 28700
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> On Wed, Oct 4, 2017 at 3:50 PM, Live System User <nyc4bos@aol.com> wrote:
>> Can you give me step-by-step instructions?
>>
>> BTW, is it possible to Edebug `kill-buffer` ?
>>
>>
>> kill-buffer is an interactive built-in function in ‘C source code’.
>
> Oops, sorry, it is indeed not possible to edebug C code. I don't
> suppose you've built your emacs with debug info so you could step with
> gdb?
It's built by Fedora (RedHat). I have debugging info but I belive
the emacs binary might be stripped, if that matters.
>
> Do you know how to reproduce this situation starting from 'emacs -Q',
> or is it a one-off fluke?
I dont know how to reproduce this with or without 'emacs -Q' but
it has happened to me periodically so I decided to finally
report it
I'll leave the sessuon around as long as I can.
I hope someone can help me to debug it.
Thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 22:12 ` Live System User
@ 2017-10-04 23:48 ` Noam Postavsky
2017-10-15 19:09 ` Live System User
2017-10-15 19:29 ` Live System User
0 siblings, 2 replies; 19+ messages in thread
From: Noam Postavsky @ 2017-10-04 23:48 UTC (permalink / raw)
To: Live System User; +Cc: 28700
Live System User <nyc4bos@aol.com> writes:
> It's built by Fedora (RedHat). I have debugging info but I belive
> the emacs binary might be stripped, if that matters.
Hmm, you will need gdb, emacs debug info and probably the emacs sources
as well.
This link explains how to get the debug info:
https://fedoraproject.org/wiki/StackTraces#What_are_debuginfo_rpms.2C_and_how_do_I_get_them.3F
I'm not sure how to get sources under Redhat based distros.
Also get .gdbinit from
http://git.savannah.gnu.org/cgit/emacs.git/tree/src/.gdbinit?h=heads/emacs-25.3
> I dont know how to reproduce this with or without 'emacs -Q' but
> it has happened to me periodically so I decided to finally
> report it
>
> I'll leave the sessuon around as long as I can.
After you have installed the debugging symbols and gdb, attach gdb to
the running Emacs by running
gdb -p xxxx
Where xxxx is Emacs' pid (a number). Find that out by running 'pgrep -a
emacs'. Then at the (gdb) prompt, type
source .gdbinit
break text_read_only
continue
Then try to kill the buffer. Hopefully the breakpoint will be hit and
emacs becomes frozen. At the (gdb) prompt, type
bt
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 9:57 bug#28700: 25.2; Cannot kill Eshell buffer Live System User
2017-10-04 11:56 ` Noam Postavsky
@ 2017-10-05 8:09 ` martin rudalics
1 sibling, 0 replies; 19+ messages in thread
From: martin rudalics @ 2017-10-05 8:09 UTC (permalink / raw)
To: Live System User, 28700
> run-hooks: Text is read-only
>
> `kill-buffer-hook` is:
>
> kill-buffer-hook is a variable defined in ‘files.el’.
> Its value is (t eshell-kill-buffer-function)
> Local in buffer *eshell*; global value is
> (tramp-delete-temp-file-function uniquify-kill-buffer-function vc-kill-buffer-hook)
Set ‘kill-buffer-hook’ to nil when this happens to find out whether some
local binding creates any difficulties. If this is not the case,
gradually re-add each of the elements above to see which one causes the
problem.
martin
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 23:48 ` Noam Postavsky
@ 2017-10-15 19:09 ` Live System User
2017-10-15 19:48 ` Noam Postavsky
2017-10-15 19:29 ` Live System User
1 sibling, 1 reply; 19+ messages in thread
From: Live System User @ 2017-10-15 19:09 UTC (permalink / raw)
To: Noam Postavsky; +Cc: 28700
[-- Attachment #1: Type: text/plain, Size: 1341 bytes --]
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> Live System User <nyc4bos@aol.com> writes:
>
>> It's built by Fedora (RedHat). I have debugging info but I belive
>> the emacs binary might be stripped, if that matters.
>
> Hmm, you will need gdb, emacs debug info and probably the emacs sources
> as well.
>
> This link explains how to get the debug info:
> https://fedoraproject.org/wiki/StackTraces#What_are_debuginfo_rpms.2C_and_how_do_I_get_them.3F
>
> I'm not sure how to get sources under Redhat based distros.
>
> Also get .gdbinit from
> http://git.savannah.gnu.org/cgit/emacs.git/tree/src/.gdbinit?h=heads/emacs-25.3
>
>> I dont know how to reproduce this with or without 'emacs -Q' but
>> it has happened to me periodically so I decided to finally
>> report it
>>
>> I'll leave the sessuon around as long as I can.
>
> After you have installed the debugging symbols and gdb, attach gdb to
> the running Emacs by running
>
> gdb -p xxxx
>
> Where xxxx is Emacs' pid (a number). Find that out by running 'pgrep -a
> emacs'. Then at the (gdb) prompt, type
>
> source .gdbinit
> break text_read_only
> continue
>
> Then try to kill the buffer. Hopefully the breakpoint will be hit and
> emacs becomes frozen. At the (gdb) prompt, type
>
> bt
Here is some GDB info.
Thanks.
[-- Attachment #2: GDB BT info --]
[-- Type: text/plain, Size: 6736 bytes --]
(gdb) c
Continuing.
Thread 1 "emacs" hit Breakpoint 4, text_read_only (
propval=propval@entry=XIL(0xb010)) at ../../src/textprop.c:71
71 if (STRINGP (propval))
(gdb) bt
#0 text_read_only (propval=propval@entry=XIL(0xb010))
at ../../src/textprop.c:71
#1 0x00000000005bd8da in verify_interval_modification (buf=<optimized out>,
start=start@entry=3209, end=end@entry=3209) at ../../src/textprop.c:2192
#2 0x0000000000519353 in prepare_to_modify_buffer_1 (start=start@entry=3209,
end=end@entry=3209, preserve_ptr=preserve_ptr@entry=0x0)
at ../../src/insdel.c:1837
#3 0x0000000000519791 in prepare_to_modify_buffer (start=3209, end=3209,
preserve_ptr=preserve_ptr@entry=0x0) at ../../src/insdel.c:1878
#4 0x00000000005199b1 in insert_1_both (
string=string@entry=0x7ffd5642bca0 "\n\037\344\004",
nchars=nchars@entry=1, nbytes=nbytes@entry=1, inherit=inherit@entry=false,
prepare=prepare@entry=true, before_markers=before_markers@entry=false)
at ../../src/insdel.c:801
#5 0x0000000000519ff1 in insert_1_both (before_markers=false, prepare=true,
inherit=false, nbytes=1, nchars=1, string=0x7ffd5642bca0 "\n\037\344\004")
at ../../src/insdel.c:585
#6 insert (string=0x7ffd5642bca0 "\n\037\344\004", nbytes=1)
at ../../src/insdel.c:582
#7 0x00000000005582fc in general_insert_function (
insert_func=0x51a000 <insert>,
insert_from_string_func=0x51a2f0 <insert_from_string>,
inherit=inherit@entry=false, nargs=2, args=args@entry=0x7ffd5642bd40)
---Type <return> to continue, or q <return> to quit---
../src/editfns.c:2492
#8 0x00000000005583cf in Finsert (nargs=<optimized out>,
args=args@entry=0x7ffd5642bd40) at ../../src/editfns.c:2532
#9 0x000000000059fed4 in exec_byte_code (bytestr=<optimized out>,
vector=<optimized out>, maxdepth=<optimized out>,
args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>,
args@entry=0x45800b4) at ../../src/bytecode.c:1517
#10 0x0000000000566416 in funcall_lambda (fun=XIL(0x7ffd5642c090),
nargs=nargs@entry=0, arg_vector=0x45800b4, arg_vector@entry=0x7ffd5642bf38)
at ../../src/eval.c:2863
#11 0x00000000005666db in Ffuncall (nargs=1, args=0x7ffd5642bf30)
at ../../src/eval.c:2760
#12 0x0000000000566939 in funcall_nil (nargs=<optimized out>,
args=<optimized out>) at ../../src/eval.c:2338
#13 0x0000000000564a55 in run_hook_with_args (nargs=1, args=0x7ffd5642bf30,
funcall=0x566930 <funcall_nil>) at ../../src/eval.c:2515
#14 0x0000000000564c33 in run_hook_with_args (funcall=<optimized out>,
args=<optimized out>, nargs=<optimized out>) at ../../src/eval.c:2361
#15 Frun_hook_with_args (args=0x7ffd5642bf30, nargs=1) at ../../src/eval.c:2380
#16 run_hook (hook=<optimized out>) at ../../src/eval.c:2528
#17 Frun_hooks (nargs=1, args=0x7ffd5642c020) at ../../src/eval.c:2362
#18 0x00000000005667e9 in Ffuncall (nargs=2, args=args@entry=0x7ffd5642c018)
at ../../src/eval.c:2679
---Type <return> to continue, or q <return> to quit---
#19 0x000000000059f173 in exec_byte_code (bytestr=<optimized out>,
vector=<optimized out>, maxdepth=<optimized out>,
args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>,
args@entry=0x343c164) at ../../src/bytecode.c:880
#20 0x0000000000566416 in funcall_lambda (fun=XIL(0x7ffd5642c6f0),
nargs=nargs@entry=0, arg_vector=0x343c164, arg_vector@entry=0x7ffd5642c200)
at ../../src/eval.c:2863
#21 0x00000000005666db in Ffuncall (nargs=1, args=0x7ffd5642c1f8)
at ../../src/eval.c:2760
#22 0x0000000000566939 in funcall_nil (nargs=<optimized out>,
args=<optimized out>) at ../../src/eval.c:2338
#23 0x0000000000564a55 in run_hook_with_args (nargs=1, args=0x7ffd5642c1f8,
funcall=0x566930 <funcall_nil>) at ../../src/eval.c:2515
#24 0x0000000000565259 in run_hook_with_args (funcall=<optimized out>,
args=<optimized out>, nargs=<optimized out>) at ../../src/eval.c:2465
#25 Frun_hook_with_args (args=0x7ffd5642c1f8, nargs=1) at ../../src/eval.c:2380
#26 run_hook (hook=<optimized out>, hook@entry=XIL(0x7530))
at ../../src/eval.c:2528
#27 0x0000000000511aa1 in Fkill_buffer (buffer_or_name=<optimized out>)
at ../../src/buffer.c:1680
#28 0x00000000005668e0 in Ffuncall (nargs=nargs@entry=2,
args=args@entry=0x7ffd5642c3f8) at ../../src/eval.c:2699
#29 0x00000000005622da in Ffuncall_interactively (nargs=2, args=0x7ffd5642c3f8)
---Type <return> to continue, or q <return> to quit---
at ../../src/callint.c:252
#30 0x00000000005667e9 in Ffuncall (nargs=nargs@entry=3,
args=args@entry=0x7ffd5642c3f0) at ../../src/eval.c:2679
#31 0x0000000000562cb6 in Fcall_interactively (function=<optimized out>,
record_flag=<optimized out>, keys=<optimized out>)
at ../../src/callint.c:843
#32 0x00000000005668c6 in Ffuncall (nargs=4, args=args@entry=0x7ffd5642c658)
at ../../src/eval.c:2706
#33 0x000000000059f173 in exec_byte_code (bytestr=<optimized out>,
vector=<optimized out>, maxdepth=<optimized out>,
args_template=<optimized out>, nargs=nargs@entry=1, args=<optimized out>,
args@entry=0x9394d4 <pure+895540>) at ../../src/bytecode.c:880
#34 0x0000000000566416 in funcall_lambda (fun=XIL(0), nargs=nargs@entry=1,
arg_vector=0x9394d4 <pure+895540>, arg_vector@entry=0x7ffd5642c808)
at ../../src/eval.c:2863
#35 0x00000000005666db in Ffuncall (nargs=nargs@entry=2,
args=args@entry=0x7ffd5642c800) at ../../src/eval.c:2760
#36 0x00000000005669da in call1 (fn=fn@entry=XIL(0x3a50), arg1=<optimized out>)
at ../../src/eval.c:2558
#37 0x0000000000500461 in command_loop_1 () at ../../src/keyboard.c:1484
#38 0x0000000000565002 in internal_condition_case (
bfun=bfun@entry=0x500040 <command_loop_1>,
handlers=handlers@entry=XIL(0x4b00), hfun=hfun@entry=0x4f68c0 <cmd_error>)
---Type <return> to continue, or q <return> to quit---
at ../../src/eval.c:1315
#39 0x00000000004f1cf4 in command_loop_2 (ignore=ignore@entry=XIL(0))
at ../../src/keyboard.c:1112
#40 0x0000000000564fa3 in internal_catch (tag=tag@entry=XIL(0xb580),
func=func@entry=0x4f1cd0 <command_loop_2>, arg=arg@entry=XIL(0))
at ../../src/eval.c:1080
#41 0x00000000004f1cb0 in command_loop () at ../../src/keyboard.c:1091
#42 0x00000000004f64b7 in recursive_edit_1 () at ../../src/keyboard.c:697
#43 0x00000000004f6808 in Frecursive_edit () at ../../src/keyboard.c:768
#44 0x000000000041a032 in main (argc=1, argv=0x7ffd5642cc08)
at ../../src/emacs.c:1629
Lisp Backtrace:
"eshell-write-history" (0x5642bf38)
"run-hooks" (0x5642c020)
"eshell-kill-buffer-function" (0x5642c200)
"kill-buffer" (0x5642c400)
"funcall-interactively" (0x5642c3f8)
"call-interactively" (0x5642c660)
"command-execute" (0x5642c808)
(gdb)
[-- Attachment #3: GDB src info --]
[-- Type: text/plain, Size: 6736 bytes --]
(gdb) c
Continuing.
Thread 1 "emacs" hit Breakpoint 4, text_read_only (
propval=propval@entry=XIL(0xb010)) at ../../src/textprop.c:71
71 if (STRINGP (propval))
(gdb) bt
#0 text_read_only (propval=propval@entry=XIL(0xb010))
at ../../src/textprop.c:71
#1 0x00000000005bd8da in verify_interval_modification (buf=<optimized out>,
start=start@entry=3209, end=end@entry=3209) at ../../src/textprop.c:2192
#2 0x0000000000519353 in prepare_to_modify_buffer_1 (start=start@entry=3209,
end=end@entry=3209, preserve_ptr=preserve_ptr@entry=0x0)
at ../../src/insdel.c:1837
#3 0x0000000000519791 in prepare_to_modify_buffer (start=3209, end=3209,
preserve_ptr=preserve_ptr@entry=0x0) at ../../src/insdel.c:1878
#4 0x00000000005199b1 in insert_1_both (
string=string@entry=0x7ffd5642bca0 "\n\037\344\004",
nchars=nchars@entry=1, nbytes=nbytes@entry=1, inherit=inherit@entry=false,
prepare=prepare@entry=true, before_markers=before_markers@entry=false)
at ../../src/insdel.c:801
#5 0x0000000000519ff1 in insert_1_both (before_markers=false, prepare=true,
inherit=false, nbytes=1, nchars=1, string=0x7ffd5642bca0 "\n\037\344\004")
at ../../src/insdel.c:585
#6 insert (string=0x7ffd5642bca0 "\n\037\344\004", nbytes=1)
at ../../src/insdel.c:582
#7 0x00000000005582fc in general_insert_function (
insert_func=0x51a000 <insert>,
insert_from_string_func=0x51a2f0 <insert_from_string>,
inherit=inherit@entry=false, nargs=2, args=args@entry=0x7ffd5642bd40)
---Type <return> to continue, or q <return> to quit---
../src/editfns.c:2492
#8 0x00000000005583cf in Finsert (nargs=<optimized out>,
args=args@entry=0x7ffd5642bd40) at ../../src/editfns.c:2532
#9 0x000000000059fed4 in exec_byte_code (bytestr=<optimized out>,
vector=<optimized out>, maxdepth=<optimized out>,
args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>,
args@entry=0x45800b4) at ../../src/bytecode.c:1517
#10 0x0000000000566416 in funcall_lambda (fun=XIL(0x7ffd5642c090),
nargs=nargs@entry=0, arg_vector=0x45800b4, arg_vector@entry=0x7ffd5642bf38)
at ../../src/eval.c:2863
#11 0x00000000005666db in Ffuncall (nargs=1, args=0x7ffd5642bf30)
at ../../src/eval.c:2760
#12 0x0000000000566939 in funcall_nil (nargs=<optimized out>,
args=<optimized out>) at ../../src/eval.c:2338
#13 0x0000000000564a55 in run_hook_with_args (nargs=1, args=0x7ffd5642bf30,
funcall=0x566930 <funcall_nil>) at ../../src/eval.c:2515
#14 0x0000000000564c33 in run_hook_with_args (funcall=<optimized out>,
args=<optimized out>, nargs=<optimized out>) at ../../src/eval.c:2361
#15 Frun_hook_with_args (args=0x7ffd5642bf30, nargs=1) at ../../src/eval.c:2380
#16 run_hook (hook=<optimized out>) at ../../src/eval.c:2528
#17 Frun_hooks (nargs=1, args=0x7ffd5642c020) at ../../src/eval.c:2362
#18 0x00000000005667e9 in Ffuncall (nargs=2, args=args@entry=0x7ffd5642c018)
at ../../src/eval.c:2679
---Type <return> to continue, or q <return> to quit---
#19 0x000000000059f173 in exec_byte_code (bytestr=<optimized out>,
vector=<optimized out>, maxdepth=<optimized out>,
args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>,
args@entry=0x343c164) at ../../src/bytecode.c:880
#20 0x0000000000566416 in funcall_lambda (fun=XIL(0x7ffd5642c6f0),
nargs=nargs@entry=0, arg_vector=0x343c164, arg_vector@entry=0x7ffd5642c200)
at ../../src/eval.c:2863
#21 0x00000000005666db in Ffuncall (nargs=1, args=0x7ffd5642c1f8)
at ../../src/eval.c:2760
#22 0x0000000000566939 in funcall_nil (nargs=<optimized out>,
args=<optimized out>) at ../../src/eval.c:2338
#23 0x0000000000564a55 in run_hook_with_args (nargs=1, args=0x7ffd5642c1f8,
funcall=0x566930 <funcall_nil>) at ../../src/eval.c:2515
#24 0x0000000000565259 in run_hook_with_args (funcall=<optimized out>,
args=<optimized out>, nargs=<optimized out>) at ../../src/eval.c:2465
#25 Frun_hook_with_args (args=0x7ffd5642c1f8, nargs=1) at ../../src/eval.c:2380
#26 run_hook (hook=<optimized out>, hook@entry=XIL(0x7530))
at ../../src/eval.c:2528
#27 0x0000000000511aa1 in Fkill_buffer (buffer_or_name=<optimized out>)
at ../../src/buffer.c:1680
#28 0x00000000005668e0 in Ffuncall (nargs=nargs@entry=2,
args=args@entry=0x7ffd5642c3f8) at ../../src/eval.c:2699
#29 0x00000000005622da in Ffuncall_interactively (nargs=2, args=0x7ffd5642c3f8)
---Type <return> to continue, or q <return> to quit---
at ../../src/callint.c:252
#30 0x00000000005667e9 in Ffuncall (nargs=nargs@entry=3,
args=args@entry=0x7ffd5642c3f0) at ../../src/eval.c:2679
#31 0x0000000000562cb6 in Fcall_interactively (function=<optimized out>,
record_flag=<optimized out>, keys=<optimized out>)
at ../../src/callint.c:843
#32 0x00000000005668c6 in Ffuncall (nargs=4, args=args@entry=0x7ffd5642c658)
at ../../src/eval.c:2706
#33 0x000000000059f173 in exec_byte_code (bytestr=<optimized out>,
vector=<optimized out>, maxdepth=<optimized out>,
args_template=<optimized out>, nargs=nargs@entry=1, args=<optimized out>,
args@entry=0x9394d4 <pure+895540>) at ../../src/bytecode.c:880
#34 0x0000000000566416 in funcall_lambda (fun=XIL(0), nargs=nargs@entry=1,
arg_vector=0x9394d4 <pure+895540>, arg_vector@entry=0x7ffd5642c808)
at ../../src/eval.c:2863
#35 0x00000000005666db in Ffuncall (nargs=nargs@entry=2,
args=args@entry=0x7ffd5642c800) at ../../src/eval.c:2760
#36 0x00000000005669da in call1 (fn=fn@entry=XIL(0x3a50), arg1=<optimized out>)
at ../../src/eval.c:2558
#37 0x0000000000500461 in command_loop_1 () at ../../src/keyboard.c:1484
#38 0x0000000000565002 in internal_condition_case (
bfun=bfun@entry=0x500040 <command_loop_1>,
handlers=handlers@entry=XIL(0x4b00), hfun=hfun@entry=0x4f68c0 <cmd_error>)
---Type <return> to continue, or q <return> to quit---
at ../../src/eval.c:1315
#39 0x00000000004f1cf4 in command_loop_2 (ignore=ignore@entry=XIL(0))
at ../../src/keyboard.c:1112
#40 0x0000000000564fa3 in internal_catch (tag=tag@entry=XIL(0xb580),
func=func@entry=0x4f1cd0 <command_loop_2>, arg=arg@entry=XIL(0))
at ../../src/eval.c:1080
#41 0x00000000004f1cb0 in command_loop () at ../../src/keyboard.c:1091
#42 0x00000000004f64b7 in recursive_edit_1 () at ../../src/keyboard.c:697
#43 0x00000000004f6808 in Frecursive_edit () at ../../src/keyboard.c:768
#44 0x000000000041a032 in main (argc=1, argv=0x7ffd5642cc08)
at ../../src/emacs.c:1629
Lisp Backtrace:
"eshell-write-history" (0x5642bf38)
"run-hooks" (0x5642c020)
"eshell-kill-buffer-function" (0x5642c200)
"kill-buffer" (0x5642c400)
"funcall-interactively" (0x5642c3f8)
"call-interactively" (0x5642c660)
"command-execute" (0x5642c808)
(gdb)
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-04 23:48 ` Noam Postavsky
2017-10-15 19:09 ` Live System User
@ 2017-10-15 19:29 ` Live System User
1 sibling, 0 replies; 19+ messages in thread
From: Live System User @ 2017-10-15 19:29 UTC (permalink / raw)
To: Noam Postavsky; +Cc: 28700
[-- Attachment #1: Type: text/plain, Size: 1337 bytes --]
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> Live System User <nyc4bos@aol.com> writes:
>
>> It's built by Fedora (RedHat). I have debugging info but I belive
>> the emacs binary might be stripped, if that matters.
>
> Hmm, you will need gdb, emacs debug info and probably the emacs sources
> as well.
>
> This link explains how to get the debug info:
> https://fedoraproject.org/wiki/StackTraces#What_are_debuginfo_rpms.2C_and_how_do_I_get_them.3F
>
> I'm not sure how to get sources under Redhat based distros.
>
> Also get .gdbinit from
> http://git.savannah.gnu.org/cgit/emacs.git/tree/src/.gdbinit?h=heads/emacs-25.3
>
>> I dont know how to reproduce this with or without 'emacs -Q' but
>> it has happened to me periodically so I decided to finally
>> report it
>>
>> I'll leave the sessuon around as long as I can.
>
> After you have installed the debugging symbols and gdb, attach gdb to
> the running Emacs by running
>
> gdb -p xxxx
>
> Where xxxx is Emacs' pid (a number). Find that out by running 'pgrep -a
> emacs'. Then at the (gdb) prompt, type
>
> source .gdbinit
> break text_read_only
> continue
>
> Then try to kill the buffer. Hopefully the breakpoint will be hit and
> emacs becomes frozen. At the (gdb) prompt, type
>
> bt
Additional info...
Thanks.
[-- Attachment #2: GDB additional info --]
[-- Type: text/plain, Size: 52494 bytes --]
(gdb) break text_read_only
Breakpoint 4 at 0x5b9d00: file ../../src/lisp.h, line 864.
(gdb) continue
Continuing.
Thread 1 "emacs" hit Breakpoint 4, text_read_only (
propval=propval@entry=XIL(0xb010)) at ../../src/textprop.c:71
71 if (STRINGP (propval))
(gdb) list
66 to capture that error in GDB by putting a breakpoint on it. */
67
68 static _Noreturn void
69 text_read_only (Lisp_Object propval)
70 {
71 if (STRINGP (propval))
72 xsignal1 (Qtext_read_only, propval);
73
74 xsignal0 (Qtext_read_only);
75 }
(gdb) next
70 {
(gdb)
71 if (STRINGP (propval))
(gdb) step
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb) list
859 }
860
861 INLINE enum Lisp_Type
862 (XTYPE) (Lisp_Object a)
863 {
864 return lisp_h_XTYPE (a);
865 }
866
867 INLINE void *
868 (XUNTAG) (Lisp_Object a, int type)
(gdb)
(gdb) step
text_read_only (propval=propval@entry=XIL(0xb010)) at ../../src/textprop.c:70
70 {
(gdb)
71 if (STRINGP (propval))
(gdb)
STRINGP (x=<optimized out>) at ../../src/textprop.c:71
71 if (STRINGP (propval))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
text_read_only (propval=propval@entry=XIL(0xb010)) at ../../src/textprop.c:71
71 if (STRINGP (propval))
(gdb)
74 xsignal0 (Qtext_read_only);
(gdb)
xsignal0 (error_symbol=error_symbol@entry=XIL(0xb250)) at ../../src/eval.c:1591
1591 {
(gdb)
1592 xsignal (error_symbol, Qnil);
(gdb)
xsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1582
1582 {
(gdb)
(gdb) list
1577 /* Internal version of Fsignal that never returns.
1578 Used for anything but Qquit (which can return from Fsignal). */
1579
1580 void
1581 xsignal (Lisp_Object error_symbol, Lisp_Object data)
1582 {
1583 Fsignal (error_symbol, data);
1584 emacs_abort ();
1585 }
1586
(gdb)
(gdb) step
1583 Fsignal (error_symbol, data);
(gdb)
Fsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1470
1470 {
(gdb) list
1465 See Info anchor `(elisp)Definition of signal' for some details on how this
1466 error message is constructed.
1467 If the signal is handled, DATA is made available to the handler.
1468 See also the function `condition-case'. */)
1469 (Lisp_Object error_symbol, Lisp_Object data)
1470 {
1471 /* When memory is full, ERROR-SYMBOL is nil,
1472 and DATA is (REAL-ERROR-SYMBOL . REAL-DATA).
1473 That is a special case--don't do this in other situations. */
1474 Lisp_Object conditions;
(gdb)
(gdb) step
1477 = (NILP (error_symbol) ? Fcar (data) : error_symbol);
(gdb)
1470 {
(gdb)
1477 = (NILP (error_symbol) ? Fcar (data) : error_symbol);
(gdb)
1483 if (gc_in_progress || waiting_for_input)
(gdb)
1481 immediate_quit = 0;
(gdb)
1482 abort_on_gc = 0;
(gdb)
1483 if (gc_in_progress || waiting_for_input)
(gdb)
1495 if (! NILP (Vsignal_hook_function)
(gdb)
1508 conditions = Fget (real_error_symbol, Qerror_conditions);
(gdb)
Fget (symbol=symbol@entry=XIL(0xb250), propname=propname@entry=XIL(0x4b30))
at ../../src/fns.c:2074
2074 CHECK_SYMBOL (symbol);
(gdb)
(gdb) list
2069 DEFUN ("get", Fget, Sget, 2, 2, 0,
2070 doc: /* Return the value of SYMBOL's PROPNAME property.
2071 This is the last value stored with `(put SYMBOL PROPNAME VALUE)'. */)
2072 (Lisp_Object symbol, Lisp_Object propname)
2073 {
2074 CHECK_SYMBOL (symbol);
2075 return Fplist_get (XSYMBOL (symbol)->plist, propname);
2076 }
2077
2078 DEFUN ("plist-put", Fplist_put, Splist_put, 3, 3, 0,
(gdb)
(gdb) step
CHECK_SYMBOL (x=x@entry=XIL(0xb250)) at ../../src/fns.c:2074
2074 CHECK_SYMBOL (symbol);
(gdb)
(gdb) list
2069 DEFUN ("get", Fget, Sget, 2, 2, 0,
2070 doc: /* Return the value of SYMBOL's PROPNAME property.
2071 This is the last value stored with `(put SYMBOL PROPNAME VALUE)'. */)
2072 (Lisp_Object symbol, Lisp_Object propname)
2073 {
2074 CHECK_SYMBOL (symbol);
2075 return Fplist_get (XSYMBOL (symbol)->plist, propname);
2076 }
2077
2078 DEFUN ("plist-put", Fplist_put, Splist_put, 3, 3, 0,
(gdb)
(gdb) step
CHECK_TYPE (x=x@entry=XIL(0xb250), predicate=XIL(0xaf50), ok=1)
at ../../src/lisp.h:1183
1183 lisp_h_CHECK_TYPE (ok, predicate, x);
(gdb)
(gdb) list
1178 /* Type checking. */
1179
1180 INLINE void
1181 (CHECK_TYPE) (int ok, Lisp_Object predicate, Lisp_Object x)
1182 {
1183 lisp_h_CHECK_TYPE (ok, predicate, x);
1184 }
1185
1186 /* See the macros in intervals.h. */
1187
(gdb)
(gdb) step
Fget (symbol=symbol@entry=XIL(0xb250), propname=propname@entry=XIL(0x4b30))
at ../../src/fns.c:2075
2075 return Fplist_get (XSYMBOL (symbol)->plist, propname);
(gdb)
(gdb) list
2070 doc: /* Return the value of SYMBOL's PROPNAME property.
2071 This is the last value stored with `(put SYMBOL PROPNAME VALUE)'. */)
2072 (Lisp_Object symbol, Lisp_Object propname)
2073 {
2074 CHECK_SYMBOL (symbol);
2075 return Fplist_get (XSYMBOL (symbol)->plist, propname);
2076 }
2077
2078 DEFUN ("plist-put", Fplist_put, Splist_put, 3, 3, 0,
2079 doc: /* Change value in PLIST of PROP to VAL.
(gdb)
(gdb) step
Fplist_get (plist=XIL(0xc16c23), prop=prop@entry=XIL(0x4b30))
at ../../src/fns.c:2054
2054 tail = halftail = plist;
(gdb)
(gdb) list
2049 (Lisp_Object plist, Lisp_Object prop)
2050 {
2051 Lisp_Object tail, halftail;
2052
2053 /* halftail is used to detect circular lists. */
2054 tail = halftail = plist;
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
2056 {
2057 if (EQ (prop, XCAR (tail)))
2058 return XCAR (XCDR (tail));
(gdb)
(gdb) step
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
(gdb)
CONSP (x=<optimized out>) at ../../src/fns.c:2055
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
(gdb)
2056 {
2057 if (EQ (prop, XCAR (tail)))
2058 return XCAR (XCDR (tail));
(gdb) step
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
(gdb)
CONSP (x=<optimized out>) at ../../src/fns.c:2055
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
(gdb) list
2050 {
2051 Lisp_Object tail, halftail;
2052
2053 /* halftail is used to detect circular lists. */
2054 tail = halftail = plist;
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
2056 {
2057 if (EQ (prop, XCAR (tail)))
2058 return XCAR (XCDR (tail));
2059
(gdb) step
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
(gdb) list
859 }
860
861 INLINE enum Lisp_Type
862 (XTYPE) (Lisp_Object a)
863 {
864 return lisp_h_XTYPE (a);
865 }
866
867 INLINE void *
868 (XUNTAG) (Lisp_Object a, int type)
(gdb)
(gdb) step
Fplist_get (plist=<optimized out>, prop=prop@entry=XIL(0x4b30))
at ../../src/fns.c:2055
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
(gdb)
XCDR (c=XIL(0xc16c23)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
Fplist_get (plist=<optimized out>, prop=prop@entry=XIL(0x4b30))
at ../../src/fns.c:2055
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
(gdb)
CONSP (x=<optimized out>) at ../../src/fns.c:2055
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
Fplist_get (plist=<optimized out>, prop=prop@entry=XIL(0x4b30))
at ../../src/fns.c:2055
2055 while (CONSP (tail) && CONSP (XCDR (tail)))
(gdb)
2057 if (EQ (prop, XCAR (tail)))
(gdb)
2058 return XCAR (XCDR (tail));
(gdb)
XCAR (c=XIL(0xc16c13)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
Fplist_get (plist=<optimized out>, prop=prop@entry=XIL(0x4b30))
at ../../src/fns.c:2058
2058 return XCAR (XCDR (tail));
(gdb)
Fsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1515
1515 if (!NILP (error_symbol))
(gdb)
(gdb) list
1510 /* Remember from where signal was called. Skip over the frame for
1511 `signal' itself. If a frame for `error' follows, skip that,
1512 too. Don't do this when ERROR_SYMBOL is nil, because that
1513 is a memory-full error. */
1514 Vsignaling_function = Qnil;
1515 if (!NILP (error_symbol))
1516 {
1517 union specbinding *pdl = backtrace_next (backtrace_top ());
1518 if (backtrace_p (pdl) && EQ (backtrace_function (pdl), Qerror))
1519 pdl = backtrace_next (pdl);
(gdb)
(gdb) step
1508 conditions = Fget (real_error_symbol, Qerror_conditions);
(gdb)
1514 Vsignaling_function = Qnil;
(gdb)
1515 if (!NILP (error_symbol))
(gdb)
1517 union specbinding *pdl = backtrace_next (backtrace_top ());
(gdb)
backtrace_top () at ../../src/eval.c:183
183 union specbinding *pdl = specpdl_ptr - 1;
(gdb)
(gdb) list
178 { return pdl >= specpdl; }
179
180 union specbinding *
181 backtrace_top (void)
182 {
183 union specbinding *pdl = specpdl_ptr - 1;
184 while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
185 pdl--;
186 return pdl;
187 }
(gdb)
(gdb) step
184 while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
(gdb)
backtrace_p (pdl=<optimized out>) at ../../src/eval.c:178
178 { return pdl >= specpdl; }
(gdb)
(gdb) list
173
174 /* Helper functions to scan the backtrace. */
175
176 bool
177 backtrace_p (union specbinding *pdl)
178 { return pdl >= specpdl; }
179
180 union specbinding *
181 backtrace_top (void)
182 {
(gdb)
(gdb) step
backtrace_top () at ../../src/eval.c:183
183 union specbinding *pdl = specpdl_ptr - 1;
(gdb)
184 while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
(gdb)
Fsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1517
1517 union specbinding *pdl = backtrace_next (backtrace_top ());
(gdb)
backtrace_next (pdl=0x339b9e0) at ../../src/eval.c:192
192 pdl--;
(gdb) list
187 }
188
189 union specbinding *
190 backtrace_next (union specbinding *pdl)
191 {
192 pdl--;
193 while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
194 pdl--;
195 return pdl;
196 }
(gdb)
(gdb) step
193 while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
(gdb)
194 pdl--;
(gdb)
193 while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
(gdb)
194 pdl--;
(gdb)
193 while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
(gdb)
Fsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1518
1518 if (backtrace_p (pdl) && EQ (backtrace_function (pdl), Qerror))
(gdb)
backtrace_function (pdl=0x339b980) at ../../src/eval.c:133
133 return pdl->bt.function;
(gdb)
Fsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1518
1518 if (backtrace_p (pdl) && EQ (backtrace_function (pdl), Qerror))
(gdb)
(gdb) step
1521 Vsignaling_function = backtrace_function (pdl);
(gdb)
1524 for (h = handlerlist; h; h = h->next)
(gdb)
1526 if (h->type != CONDITION_CASE)
(gdb)
1528 clause = find_handler_clause (h->tag_or_ch, conditions);
(gdb)
find_handler_clause (conditions=XIL(0x86945b), handlers=XIL(0x4b00))
at ../../src/eval.c:1746
1746 if (EQ (handlers, Qerror))
(gdb)
(gdb) list
1741 if (EQ (handlers, Qt))
1742 return Qt;
1743
1744 /* error is used similarly, but means print an error message
1745 and run the debugger if that is enabled. */
1746 if (EQ (handlers, Qerror))
1747 return Qt;
1748
1749 for (h = handlers; CONSP (h); h = XCDR (h))
1750 {
(gdb)
(gdb) step
1533 if (/* Don't run the debugger for a memory-full error.
(gdb)
1538 || NILP (clause)
(gdb)
1541 || (CONSP (clause) && !NILP (Fmemq (Qdebug, clause)))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1541
1541 || (CONSP (clause) && !NILP (Fmemq (Qdebug, clause)))
(gdb)
(gdb) list
1536 && (!NILP (Vdebug_on_signal)
1537 /* If no handler is present now, try to run the debugger. */
1538 || NILP (clause)
1539 /* A `debug' symbol in the handler list disables the normal
1540 suppression of the debugger. */
1541 || (CONSP (clause) && !NILP (Fmemq (Qdebug, clause)))
1542 /* Special handler that means "print a message and run debugger
1543 if requested". */
1544 || EQ (h->tag_or_ch, Qerror)))
1545 {
(gdb)
(gdb) step
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
Fsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1541
1541 || (CONSP (clause) && !NILP (Fmemq (Qdebug, clause)))
(gdb)
(gdb) list
1536 && (!NILP (Vdebug_on_signal)
1537 /* If no handler is present now, try to run the debugger. */
1538 || NILP (clause)
1539 /* A `debug' symbol in the handler list disables the normal
1540 suppression of the debugger. */
1541 || (CONSP (clause) && !NILP (Fmemq (Qdebug, clause)))
1542 /* Special handler that means "print a message and run debugger
1543 if requested". */
1544 || EQ (h->tag_or_ch, Qerror)))
1545 {
(gdb)
(gdb) step
1544 || EQ (h->tag_or_ch, Qerror)))
(gdb)
1546 bool debugger_called
(gdb)
maybe_call_debugger (data=XIL(0), sig=XIL(0xb250), conditions=XIL(0x86945b))
at ../../src/eval.c:1713
1713 combined_data = Fcons (sig, data);
(gdb)
(gdb) list
1708 static bool
1709 maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data)
1710 {
1711 Lisp_Object combined_data;
1712
1713 combined_data = Fcons (sig, data);
1714
1715 if (
1716 /* Don't try to run the debugger with interrupts blocked.
1717 The editing loop would return anyway. */
(gdb)
(gdb) step
Fcons (car=car@entry=XIL(0xb250), cdr=cdr@entry=XIL(0))
at ../../src/alloc.c:2707
2707 {
(gdb)
(gdb) list
2702 }
2703
2704 DEFUN ("cons", Fcons, Scons, 2, 2, 0,
2705 doc: /* Create a new cons, give it CAR and CDR as components, and return it. */)
2706 (Lisp_Object car, Lisp_Object cdr)
2707 {
2708 register Lisp_Object val;
2709
2710 MALLOC_BLOCK_INPUT;
2711
(gdb)
(gdb) step
2712 if (cons_free_list)
(gdb)
2721 if (cons_block_index == CONS_BLOCK_SIZE)
(gdb)
2731 XSETCONS (val, &cons_block->conses[cons_block_index]);
(gdb)
make_lisp_ptr (type=Lisp_Cons, ptr=0x58d9940) at ../../src/lisp.h:1097
1097 Lisp_Object a = XIL (TAG_PTR (type, ptr));
(gdb)
(gdb) list
1092 /* Construct a Lisp_Object from a value or address. */
1093
1094 INLINE Lisp_Object
1095 make_lisp_ptr (void *ptr, enum Lisp_Type type)
1096 {
1097 Lisp_Object a = XIL (TAG_PTR (type, ptr));
1098 eassert (XTYPE (a) == type && XUNTAG (a, type) == ptr);
1099 return a;
1100 }
1101
(gdb)
(gdb) step
Fcons (car=car@entry=XIL(0xb250), cdr=cdr@entry=XIL(0))
at ../../src/alloc.c:2732
2732 cons_block_index++;
(gdb)
(gdb) list
2727 cons_block = new;
2728 cons_block_index = 0;
2729 total_free_conses += CONS_BLOCK_SIZE;
2730 }
2731 XSETCONS (val, &cons_block->conses[cons_block_index]);
2732 cons_block_index++;
2733 }
2734
2735 MALLOC_UNBLOCK_INPUT;
2736
(gdb)
(gdb) step
2741 total_free_conses--;
(gdb)
2737 XSETCAR (val, car);
(gdb)
XSETCAR (n=XIL(0xb250), c=XIL(0x58d9943)) at ../../src/lisp.h:1244
1244 *xcar_addr (c) = n;
(gdb)
(gdb) list
1239 Note that both arguments may refer to the same object, so 'n'
1240 should not be read after 'c' is first modified. */
1241 INLINE void
1242 XSETCAR (Lisp_Object c, Lisp_Object n)
1243 {
1244 *xcar_addr (c) = n;
1245 }
1246 INLINE void
1247 XSETCDR (Lisp_Object c, Lisp_Object n)
1248 {
(gdb)
(gdb) step
Fcons (car=car@entry=XIL(0xb250), cdr=cdr@entry=XIL(0))
at ../../src/alloc.c:2738
2738 XSETCDR (val, cdr);
(gdb)
XSETCDR (n=XIL(0), c=XIL(0x58d9943)) at ../../src/lisp.h:1249
1249 *xcdr_addr (c) = n;
(gdb)
Fcons (car=car@entry=XIL(0xb250), cdr=cdr@entry=XIL(0))
at ../../src/alloc.c:2740
2740 consing_since_gc += sizeof (struct Lisp_Cons);
(gdb)
2741 total_free_conses--;
(gdb)
2742 cons_cells_consed++;
(gdb)
2744 }
(gdb)
maybe_call_debugger (data=XIL(0), sig=XIL(0xb250), conditions=XIL(0x86945b))
at ../../src/eval.c:1718
1718 ! input_blocked_p ()
(gdb)
(gdb) step
input_blocked_p () at ../../src/blockinput.h:67
67 return interrupt_input_blocked > 0;
(gdb)
maybe_call_debugger (data=XIL(0), sig=XIL(0xb250), conditions=XIL(0x86945b))
at ../../src/eval.c:1715
1715 if (
(gdb)
1719 && NILP (Vinhibit_debugger)
(gdb)
1721 && (EQ (sig, Qquit)
(gdb)
1723 : wants_debugger (Vdebug_on_error, conditions))
(gdb)
wants_debugger (conditions=XIL(0x86945b), list=XIL(0xb010))
at ../../src/eval.c:1648
1648 if (NILP (list))
(gdb)
1650 if (! CONSP (list))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1650
1650 if (! CONSP (list))
(gdb)
(gdb) list
1645 static bool
1646 wants_debugger (Lisp_Object list, Lisp_Object conditions)
1647 {
1648 if (NILP (list))
1649 return 0;
1650 if (! CONSP (list))
1651 return 1;
1652
1653 while (CONSP (conditions))
1654 {
(gdb)
(gdb) step
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
wants_debugger (conditions=XIL(0x86945b), list=XIL(0xb010))
at ../../src/eval.c:1650
1650 if (! CONSP (list))
(gdb)
maybe_call_debugger (data=XIL(0), sig=XIL(0xb250), conditions=XIL(0x86945b))
at ../../src/eval.c:1724
1724 && ! skip_debugger (conditions, combined_data)
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
XCAR (c=XIL(0xfe5ce3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XCONS (a=XIL(0xfe5ce3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XUNTAG (type=3, a=XIL(0xfe5ce3)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
STRINGP (x=<optimized out>) at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCAR (c=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86945b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86944b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86905b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XCDR (c=XIL(0xfe5cd3)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
CONSP (x=XIL(0xfe5cd3)) at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XTYPE (a=XIL(0xfe5cd3)) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
1679 if (STRINGP (XCAR (tail)))
(gdb)
XCAR (c=XIL(0xfe5cd3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XCONS (a=XIL(0xfe5cd3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XUNTAG (type=3, a=XIL(0xfe5cd3)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
STRINGP (x=<optimized out>) at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCAR (c=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86945b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86944b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86905b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XCDR (c=XIL(0xfe5cc3)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
CONSP (x=XIL(0xfe5cc3)) at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XTYPE (a=XIL(0xfe5cc3)) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
1679 if (STRINGP (XCAR (tail)))
(gdb)
XCAR (c=XIL(0xfe5cc3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XCONS (a=XIL(0xfe5cc3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XUNTAG (type=3, a=XIL(0xfe5cc3)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
STRINGP (x=<optimized out>) at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCAR (c=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86945b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86944b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86905b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XCDR (c=XIL(0xfe5ac3)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
CONSP (x=XIL(0xfe5ac3)) at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XTYPE (a=XIL(0xfe5ac3)) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
1679 if (STRINGP (XCAR (tail)))
(gdb)
XCAR (c=XIL(0xfe5ac3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XCONS (a=XIL(0xfe5ac3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XUNTAG (type=3, a=XIL(0xfe5ac3)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
STRINGP (x=<optimized out>) at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCAR (c=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86945b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86944b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86905b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XCDR (c=XIL(0xfe5ab3)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
CONSP (x=XIL(0xfe5ab3)) at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XTYPE (a=XIL(0xfe5ab3)) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
1679 if (STRINGP (XCAR (tail)))
(gdb)
XCAR (c=XIL(0xfe5ab3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XCONS (a=XIL(0xfe5ab3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XUNTAG (type=3, a=XIL(0xfe5ab3)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
STRINGP (x=<optimized out>) at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCAR (c=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86945b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86944b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86905b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86905b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XCDR (c=XIL(0xfe5aa3)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
CONSP (x=XIL(0xfe5aa3)) at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
XTYPE (a=XIL(0xfe5aa3)) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1677
1677 for (tail = Vdebug_ignored_errors; CONSP (tail); tail = XCDR (tail))
(gdb)
1679 if (STRINGP (XCAR (tail)))
(gdb)
XCAR (c=XIL(0xfe5aa3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XCONS (a=XIL(0xfe5aa3)) at ../../src/lisp.h:1228
1228 return lisp_h_XCAR (c);
(gdb)
XUNTAG (type=3, a=XIL(0xfe5aa3)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
STRINGP (x=<optimized out>) at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1679
1679 if (STRINGP (XCAR (tail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCAR (c=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86945b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86945b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCDR (c=XIL(0x86945b)) at ../../src/lisp.h:1234
1234 return lisp_h_XCDR (c);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
CONSP (x=<optimized out>) at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XTYPE (a=<optimized out>) at ../../src/lisp.h:864
864 return lisp_h_XTYPE (a);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1694
1694 for (contail = conditions; CONSP (contail); contail = XCDR (contail))
(gdb)
XCAR (c=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XCONS (a=XIL(0x86944b)) at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
XUNTAG (type=3, a=XIL(0x86944b)) at ../../src/lisp.h:870
870 return lisp_h_XUNTAG (a, type);
(gdb)
skip_debugger (data=XIL(0x58d9943), conditions=XIL(0x86945b))
at ../../src/eval.c:1695
1695 if (EQ (XCAR (tail), XCAR (contail)))
(gdb)
Fsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1554
1554 if (!NILP (clause))
(gdb)
1557 = (NILP (error_symbol) ? data : Fcons (error_symbol, data));
(gdb)
Fcons (car=car@entry=XIL(0xb250), cdr=cdr@entry=XIL(0))
at ../../src/alloc.c:2707
2707 {
(gdb)
2712 if (cons_free_list)
(gdb)
2721 if (cons_block_index == CONS_BLOCK_SIZE)
(gdb)
2731 XSETCONS (val, &cons_block->conses[cons_block_index]);
(gdb)
make_lisp_ptr (type=Lisp_Cons, ptr=0x58d9950) at ../../src/lisp.h:1097
1097 Lisp_Object a = XIL (TAG_PTR (type, ptr));
(gdb)
Fcons (car=car@entry=XIL(0xb250), cdr=cdr@entry=XIL(0))
at ../../src/alloc.c:2732
2732 cons_block_index++;
(gdb)
2741 total_free_conses--;
(gdb)
2737 XSETCAR (val, car);
(gdb)
XSETCAR (n=XIL(0xb250), c=XIL(0x58d9953)) at ../../src/lisp.h:1244
1244 *xcar_addr (c) = n;
(gdb)
Fcons (car=car@entry=XIL(0xb250), cdr=cdr@entry=XIL(0))
at ../../src/alloc.c:2738
2738 XSETCDR (val, cdr);
(gdb)
XSETCDR (n=XIL(0), c=XIL(0x58d9953)) at ../../src/lisp.h:1249
1249 *xcdr_addr (c) = n;
(gdb)
Fcons (car=car@entry=XIL(0xb250), cdr=cdr@entry=XIL(0))
at ../../src/alloc.c:2740
2740 consing_since_gc += sizeof (struct Lisp_Cons);
(gdb)
2741 total_free_conses--;
(gdb)
2742 cons_cells_consed++;
(gdb)
2744 }
(gdb)
Fsignal (error_symbol=error_symbol@entry=XIL(0xb250), data=data@entry=XIL(0))
at ../../src/eval.c:1559
1559 unwind_to_catch (h, unwind_data);
(gdb)
unwind_to_catch (catch=catch@entry=0x14cdea0, value=value@entry=XIL(0x58d9953))
at ../../src/eval.c:1112
1112 {
(gdb)
1118 catch->val = value;
(gdb)
1112 {
(gdb)
1121 set_poll_suppress_count (catch->poll_suppress_count);
(gdb)
set_poll_suppress_count (count=1) at ../../src/keyboard.c:1967
1967 {
(gdb)
1969 if (count == 0 && poll_suppress_count != 0)
(gdb)
1974 else if (count != 0 && poll_suppress_count == 0)
(gdb)
1978 poll_suppress_count = count;
(gdb)
1980 }
(gdb)
unwind_to_catch (catch=catch@entry=0x14cdea0, value=value@entry=XIL(0x58d9953))
at ../../src/eval.c:1122
1122 unblock_input_to (catch->interrupt_input_blocked);
(gdb)
unblock_input_to (level=0) at ../../src/keyboard.c:7093
7093 if (level == 0)
(gdb)
7092 interrupt_input_blocked = level;
(gdb)
7093 if (level == 0)
(gdb)
7095 if (pending_signals && !fatal_error_in_progress)
(gdb)
unblock_input_to (level=0) at ../../src/keyboard.c:7096
7096 process_pending_signals ();
(gdb)
process_pending_signals () at ../../src/keyboard.c:7079
7079 {
(gdb)
7080 pending_signals = false;
(gdb)
7081 handle_async_input ();
(gdb)
handle_async_input () at ../../src/keyboard.c:7067
7067 int nread = gobble_input ();
(gdb)
gobble_input () at ../../src/keyboard.c:6786
6786 {
(gdb)
6792 store_user_signal_events ();
(gdb)
store_user_signal_events () at ../../src/keyboard.c:7253
7253 for (p = user_signals; p; p = p->next)
(gdb)
gobble_input () at ../../src/keyboard.c:6786
6786 {
(gdb)
6792 store_user_signal_events ();
(gdb)
store_user_signal_events () at ../../src/keyboard.c:7253
7253 for (p = user_signals; p; p = p->next)
(gdb)
7254 if (p->npending > 0)
(gdb)
7253 for (p = user_signals; p; p = p->next)
(gdb)
7254 if (p->npending > 0)
(gdb)
7253 for (p = user_signals; p; p = p->next)
(gdb)
gobble_input () at ../../src/keyboard.c:6795
6795 t = terminal_list;
(gdb)
6796 while (t)
(gdb)
6811 EVENT_INIT (hold_quit);
(gdb)
memset (__len=<optimized out>, __ch=<optimized out>, __dest=<optimized out>)
at /usr/include/bits/string3.h:90
90 return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
(gdb)
gobble_input () at ../../src/keyboard.c:6796
6796 while (t)
(gdb)
6800 if (t->read_socket_hook)
(gdb)
6798 struct terminal *next = t->next_terminal;
(gdb)
6800 if (t->read_socket_hook)
(gdb)
6805 if (input_blocked_p ())
(gdb)
input_blocked_p () at ../../src/blockinput.h:67
67 return interrupt_input_blocked > 0;
(gdb)
gobble_input () at ../../src/keyboard.c:6805
6805 if (input_blocked_p ())
(gdb)
6811 EVENT_INIT (hold_quit);
(gdb)
memset (__len=56, __ch=0, __dest=0x7ffd5642bda0)
at /usr/include/bits/string3.h:90
90 return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
(gdb)
gobble_input () at ../../src/keyboard.c:6815
6815 while ((nr = (*t->read_socket_hook) (t, &hold_quit)) > 0)
(gdb)
XTread_socket (terminal=<optimized out>, hold_quit=<optimized out>)
at ../../src/xterm.c:8733
8733 {
(gdb)
55 interrupt_input_blocked++;
(gdb)
8736 struct x_display_info *dpyinfo = terminal->display_info.x;
(gdb)
55 interrupt_input_blocked++;
(gdb)
(gdb)
74 xsignal0 (Qtext_read_only);
(gdb)
[...]
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-15 19:09 ` Live System User
@ 2017-10-15 19:48 ` Noam Postavsky
2017-10-15 22:02 ` Live System User
0 siblings, 1 reply; 19+ messages in thread
From: Noam Postavsky @ 2017-10-15 19:48 UTC (permalink / raw)
To: Live System User; +Cc: 28700
Live System User <nyc4bos@aol.com> writes:
> Here is some GDB info.
> (gdb) bt
> #0 text_read_only (propval=propval@entry=XIL(0xb010))
> at ../../src/textprop.c:71
> Lisp Backtrace:
> "eshell-write-history" (0x5642bf38)
> "run-hooks" (0x5642c020)
> "eshell-kill-buffer-function" (0x5642c200)
> "kill-buffer" (0x5642c400)
> "funcall-interactively" (0x5642c3f8)
> "call-interactively" (0x5642c660)
> "command-execute" (0x5642c808)
Thanks, my guess is you have some string with a read-only property in
eshell history (probably introduced by copying from another buffer), and
this is tripping up eshell-write-history.
Can you post the result of
M-x pp-eval-expression RET eshell-history-ring RET
If my guess is correct there should be some strings of the form
#("some command" 0 11 (read-only t))
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-15 19:48 ` Noam Postavsky
@ 2017-10-15 22:02 ` Live System User
2017-10-16 2:20 ` Noam Postavsky
0 siblings, 1 reply; 19+ messages in thread
From: Live System User @ 2017-10-15 22:02 UTC (permalink / raw)
To: Noam Postavsky; +Cc: 28700
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> Live System User <nyc4bos@aol.com> writes:
>
>> Here is some GDB info.
>
>> (gdb) bt
>> #0 text_read_only (propval=propval@entry=XIL(0xb010))
>> at ../../src/textprop.c:71
>
>> Lisp Backtrace:
>> "eshell-write-history" (0x5642bf38)
>> "run-hooks" (0x5642c020)
>> "eshell-kill-buffer-function" (0x5642c200)
>> "kill-buffer" (0x5642c400)
>> "funcall-interactively" (0x5642c3f8)
>> "call-interactively" (0x5642c660)
>> "command-execute" (0x5642c808)
>
> Thanks, my guess is you have some string with a read-only property in
> eshell history (probably introduced by copying from another buffer), and
> this is tripping up eshell-write-history.
>
> Can you post the result of
>
> M-x pp-eval-expression RET eshell-history-ring RET
>
> If my guess is correct there should be some strings of the form
>
> #("some command" 0 11 (read-only t))
Yes. So how do I deal wi'th?
Thanks.
(6 128 .
[#("ssh localhost ps -efw | grep ssh" 0 1
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
3 4
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
4 5
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
13 14
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
14 15
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
16 17
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
17 18
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
21 22
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
22 23
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
23 24
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
24 25
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
28 29
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
29 30
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
31 32
(rear-nonsticky
(arg-end arg-begin)
arg-end t))
#("ssh localhost ps -efw | grep ssh" 0 1
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
3 4
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
4 5
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
13 14
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
14 15
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
16 17
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
17 18
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
21 22
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
22 23
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
23 24
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
24 25
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
28 29
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
29 30
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
31 32
(rear-nonsticky
(arg-end arg-begin)
arg-end t))
#("ssh localhost ps" 0 1
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
3 4
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
4 5
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
13 14
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
14 15
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
15 16
(rear-nonsticky
(arg-end arg-begin)
arg-end t))
#("ssh localhost " 0 1
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
3 4
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
4 5
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
13 14
(rear-nonsticky
(arg-end arg-begin)
arg-end t))
#("~/" 0 1
(rear-nonsticky
(arg-begin arg-end)
read-only t arg-begin t)
1 2
(rear-nonsticky
(arg-end arg-begin)
read-only t arg-end t))
#(" env | grep TERM" 2 3
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
5 6
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
6 7
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
7 8
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
8 9
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
12 13
(rear-nonsticky
(arg-end arg-begin)
arg-end t)
13 14
(rear-nonsticky
(arg-begin arg-end)
arg-begin t)
16 17
(rear-nonsticky
(arg-end arg-begin)
arg-end t))
"ssh locallhost" "Error: Failed to execute child process \"$SHELL\"
(No such file or directory)" "ssh locallhost" "ssh locallhost"
[...]
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-15 22:02 ` Live System User
@ 2017-10-16 2:20 ` Noam Postavsky
2017-10-21 19:51 ` Noam Postavsky
0 siblings, 1 reply; 19+ messages in thread
From: Noam Postavsky @ 2017-10-16 2:20 UTC (permalink / raw)
To: Live System User; +Cc: 28700
[-- Attachment #1: Type: text/plain, Size: 2358 bytes --]
tags 28700 = patch
quit
Live System User <nyc4bos@aol.com> writes:
>> Thanks, my guess is you have some string with a read-only property in
>> eshell history (probably introduced by copying from another buffer), and
>> this is tripping up eshell-write-history.
>>
>> Can you post the result of
>>
>> M-x pp-eval-expression RET eshell-history-ring RET
>>
>> If my guess is correct there should be some strings of the form
>>
>> #("some command" 0 11 (read-only t))
>
> Yes. So how do I deal wi'th?
> #("~/" 0 1
> (rear-nonsticky
> (arg-begin arg-end)
> read-only t arg-begin t)
> 1 2
> (rear-nonsticky
> (arg-end arg-begin)
> read-only t arg-end t))
Ah, there we are. I can't quite work out exactly how you managed to get
such a string, but stripping properties in eshell-write-history should
take care of it regardless. If you evaluate the following defun in your
emacs session, it should be able to exit:
(defun eshell-write-history (&optional filename append)
"Writes the buffer's `eshell-history-ring' to a history file.
The name of the file is given by the variable
`eshell-history-file-name'. The original contents of the file are
lost if `eshell-history-ring' is not empty. If
`eshell-history-file-name' is nil this function does nothing.
Useful within process sentinels.
See also `eshell-read-history'."
(let ((file (or filename eshell-history-file-name)))
(cond
((or (null file)
(equal file "")
(null eshell-history-ring)
(ring-empty-p eshell-history-ring))
nil)
((not (file-writable-p file))
(message "Cannot write history file %s" file))
(t
(let* ((ring eshell-history-ring)
(index (ring-length ring)))
;; Write it all out into a buffer first. Much faster, but
;; messier, than writing it one line at a time.
(with-temp-buffer
(while (> index 0)
(setq index (1- index))
(let ((start (point)))
;; Remove properties before inserting, to avoid trouble
;; with read-only strings (Bug#28700).
(insert (substring-no-properties (ring-ref ring index)) ?\n)
(subst-char-in-region start (1- (point)) ?\n ?\177)))
(eshell-with-private-file-modes
(write-region (point-min) (point-max) file append
'no-message))))))))
Here's the corresponding patch:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch --]
[-- Type: text/x-diff, Size: 1466 bytes --]
From ffaeb09ca6ef9b3d97c8b378c1e5c2b2723dae6f Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs@gmail.com>
Date: Sun, 15 Oct 2017 16:41:17 -0400
Subject: [PATCH] Ignore string properties when saving eshell history
(Bug#28700)
* lisp/eshell/em-hist.el (eshell-write-history): Remove properties
before inserting history strings.
(eshell-read-history): Remove obsolete comment.
---
lisp/eshell/em-hist.el | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index 1ab3c60b2c..8084c12653 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -444,7 +444,6 @@ eshell-read-history
(ignore-dups eshell-hist-ignoredups))
(with-temp-buffer
(insert-file-contents file)
- ;; Save restriction in case file is already visited...
;; Watch for those date stamps in history files!
(goto-char (point-max))
(while (and (< count size)
@@ -488,7 +487,9 @@ eshell-write-history
(while (> index 0)
(setq index (1- index))
(let ((start (point)))
- (insert (ring-ref ring index) ?\n)
+ ;; Remove properties before inserting, to avoid trouble
+ ;; with read-only strings (Bug#28700).
+ (insert (substring-no-properties (ring-ref ring index)) ?\n)
(subst-char-in-region start (1- (point)) ?\n ?\177)))
(eshell-with-private-file-modes
(write-region (point-min) (point-max) file append
--
2.11.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* bug#28700: 25.2; Cannot kill Eshell buffer
2017-10-16 2:20 ` Noam Postavsky
@ 2017-10-21 19:51 ` Noam Postavsky
0 siblings, 0 replies; 19+ messages in thread
From: Noam Postavsky @ 2017-10-21 19:51 UTC (permalink / raw)
To: Live System User; +Cc: 28700
tags 28700 fixed
close 28700 26.1
quit
Noam Postavsky <npostavs@users.sourceforge.net> writes:
> * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
> before inserting history strings.
Add test and pushed to emacs-26.
[1: 9e4265ef91]: 2017-10-21 15:19:14 -0400
Ignore string properties when saving eshell history (Bug#28700)
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=9e4265ef91bd659a5fac49fbe7dc34b91f89d4ed
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2017-10-21 19:51 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-04 9:57 bug#28700: 25.2; Cannot kill Eshell buffer Live System User
2017-10-04 11:56 ` Noam Postavsky
2017-10-04 14:13 ` Live System User
2017-10-04 14:19 ` Noam Postavsky
2017-10-04 15:21 ` Live System User
2017-10-04 16:42 ` Noam Postavsky
2017-10-04 18:27 ` Live System User
2017-10-04 18:32 ` Noam Postavsky
2017-10-04 19:50 ` Live System User
2017-10-04 19:56 ` Noam Postavsky
2017-10-04 22:12 ` Live System User
2017-10-04 23:48 ` Noam Postavsky
2017-10-15 19:09 ` Live System User
2017-10-15 19:48 ` Noam Postavsky
2017-10-15 22:02 ` Live System User
2017-10-16 2:20 ` Noam Postavsky
2017-10-21 19:51 ` Noam Postavsky
2017-10-15 19:29 ` Live System User
2017-10-05 8:09 ` martin rudalics
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.