unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Clément Pit--Claudel" <clement.pit@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: Redisplay hook
Date: Sun, 3 Jul 2016 10:51:09 -0400	[thread overview]
Message-ID: <5779265D.5020706@gmail.com> (raw)
In-Reply-To: <57791FC4.9040004@gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4128 bytes --]

Looks like wrapping the hook in block_input fixes this error :)

On 2016-07-03 10:23, Clément Pit--Claudel wrote:
> On 2016-07-03 03:45, Eli Zaretskii wrote:
>> As a temporary measure, try calling your code from the function
>> update_end (you will have to modify the C sources for that).
> 
> Thanks! Is there a trick to prevent code running in that section to cause a new redisplay cycle?
> Calling #'format from there causes a segfault:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000577874 in print_object (obj=<optimized out>, printcharfun=printcharfun@entry=0, 
>     escapeflag=escapeflag@entry=true) at print.c:1519
> 1519		if (p != end && (*p == '-' || *p == '+')) p++;
> (gdb) bt
> #0  0x0000000000577874 in print_object (obj=<optimized out>, printcharfun=printcharfun@entry=0, 
>     escapeflag=escapeflag@entry=true) at print.c:1519
> #1  0x0000000000577a82 in print_object (obj=<optimized out>, obj@entry=60247395, printcharfun=printcharfun@entry=0, 
>     escapeflag=<optimized out>) at print.c:1662
> #2  0x0000000000578e06 in print (obj=obj@entry=60247395, printcharfun=printcharfun@entry=0, 
>     escapeflag=<optimized out>) at print.c:1143
> #3  0x0000000000579749 in Fprin1_to_string (object=60247395, noescape=0) at print.c:672
> #4  0x0000000000555725 in styled_format (nargs=2, args=0x7fffffffc0c0, message=<optimized out>) at editfns.c:4088
> #5  0x000000000055d1a5 in eval_sub (form=<optimized out>) at eval.c:2145
> #6  0x000000000055d33d in Fprogn (body=44976) at eval.c:427
> #7  0x000000000055d6b5 in funcall_lambda (fun=53999395, nargs=nargs@entry=1, 
>     arg_vector=arg_vector@entry=0x7fffffffc318) at eval.c:2922
> #8  0x000000000055d8e3 in Ffuncall (nargs=2, args=0x7fffffffc310) at eval.c:2762
> #9  0x000000000055db39 in funcall_nil (nargs=<optimized out>, args=<optimized out>) at eval.c:2340
> #10 0x000000000055bd6c in run_hook_with_args (nargs=2, args=0x7fffffffc310, funcall=0x55db30 <funcall_nil>)
>     at eval.c:2517
> #11 0x000000000055bf6a in run_hook_with_args (funcall=<optimized out>, args=<optimized out>, nargs=<optimized out>)
>     at eval.c:2383
> #12 Frun_hook_with_args (nargs=<optimized out>, args=<optimized out>) at eval.c:2382
> #13 0x00000000004bd421 in x_update_end (f=<optimized out>) at xterm.c:1234
> #14 0x0000000000421c9a in update_frame (f=f@entry=0x12bed60, force_p=<optimized out>, force_p@entry=false, 
>     inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false) at dispnew.c:3109
> #15 0x0000000000453b64 in redisplay_internal () at xdisp.c:14058
> #16 0x00000000004557e5 in redisplay () at xdisp.c:13252
> #17 0x00000000004f5e3b in read_char (commandflag=commandflag@entry=1, map=map@entry=60215251, prev_event=0, 
>     used_mouse_menu=used_mouse_menu@entry=0x7fffffffdc9b, end_time=end_time@entry=0x0) at keyboard.c:2477
> #18 0x00000000004f86d3 in read_key_sequence (keybuf=keybuf@entry=0x7fffffffdd70, prompt=prompt@entry=0, 
>     dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, 
>     fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, bufsize=30)
>     at keyboard.c:9084
> #19 0x00000000004fa1d6 in command_loop_1 () at keyboard.c:1365
> #20 0x000000000055c2dd in internal_condition_case (bfun=bfun@entry=0x4f9fe0 <command_loop_1>, 
>     handlers=handlers@entry=19488, hfun=hfun@entry=0x4f0f90 <cmd_error>) at eval.c:1310
> #21 0x00000000004ec6ac in command_loop_2 (ignore=ignore@entry=0) at keyboard.c:1107
> #22 0x000000000055c28b in internal_catch (tag=tag@entry=46368, func=func@entry=0x4ec690 <command_loop_2>, 
>     arg=arg@entry=0) at eval.c:1075
> #23 0x00000000004ec667 in command_loop () at keyboard.c:1086
> #24 0x00000000004f0bc4 in recursive_edit_1 () at keyboard.c:692
> #25 0x00000000004f0ee5 in Frecursive_edit () at keyboard.c:763
> #26 0x00000000004198c8 in main (argc=1, argv=0x7fffffffe0e8) at emacs.c:1656
> 
> Lisp Backtrace:
> "format" (0xffffc0c0)
> "~/redisplay" (0xffffc318)
> "redisplay_internal (C function)" (0x0) 
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2016-07-03 14:51 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-02 19:24 Redisplay hook Clément Pit--Claudel
2016-07-03  3:27 ` Eli Zaretskii
2016-07-03  4:36   ` Clément Pit--Claudel
2016-07-03  7:45     ` Eli Zaretskii
2016-07-03 14:23       ` Clément Pit--Claudel
2016-07-03 14:51         ` Clément Pit--Claudel [this message]
2016-07-03 15:37         ` Eli Zaretskii
2016-07-04  0:05       ` Clément Pit--Claudel
2016-07-04  2:41         ` Eli Zaretskii
2016-07-04  4:31           ` Clément Pit--Claudel
2016-07-04 14:47             ` Eli Zaretskii
2016-07-04 16:14               ` Clément Pit--Claudel
2016-07-04 16:24                 ` Eli Zaretskii
2016-07-04  7:55           ` Stefan Monnier
2016-07-04 14:52             ` Eli Zaretskii
2016-07-04 16:07             ` Clément Pit--Claudel
2016-07-04 20:37               ` Robert Weiner
2016-07-04 21:00                 ` Clément Pit--Claudel
2016-07-04 21:28                   ` Robert Weiner
2016-07-04 21:50                     ` Clément Pit--Claudel
2016-07-04 21:29                   ` Drew Adams
2016-07-04 21:36                     ` Clément Pit--Claudel
2016-07-04 21:57                   ` raman
2016-07-04 22:11                     ` Clément Pit--Claudel
2016-07-05 22:59                   ` Richard Stallman
2016-07-05 23:47                     ` Clément Pit--Claudel
2016-07-03 22:34   ` Richard Stallman
2016-07-04  0:09     ` Clément Pit--Claudel
2016-07-04  2:42       ` Eli Zaretskii
2016-07-04  0:22     ` Mark Oteiza
2016-07-04  2:42       ` Eli Zaretskii
2016-07-04  7:59         ` Andreas Schwab
2016-07-04 14:52           ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5779265D.5020706@gmail.com \
    --to=clement.pit@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).