unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
@ 2011-07-24 12:07 Kenichi Handa
  2011-08-23  4:49 ` Stefan Monnier
  0 siblings, 1 reply; 12+ messages in thread
From: Kenichi Handa @ 2011-07-24 12:07 UTC (permalink / raw)
  To: 9160

The previous try of sending this report failed by this error:
  smtpmail-send-it: Sending failed; no recipients
This is the second try with the same Emacs session.

The latest trunk Emacs freezes in *shell* buffer in the
following scenario.

% emacs -Q
M-x shell RET
.. in *shell* buffer
% mkdir tmp  (or if you already have tmp dir, % rm -rf tmp; mkdir tmp)
% cd tmp
% touch '0 a' '0-a'
% ls 0<TAB>
.. here <TAB> is a single tab and *Completions* buffer is
   shown with this contents ...
------------------------------------------------------------
Click <mouse-2> on ...
In this buffer, ...

Possible completions are:
0 a
0-a
------------------------------------------------------------
.. then type \ (backshash), and Emacs freezes.  C-g doesn't
work (perhaps because inhibit-quit is non-nil).

The backtrace is this:

(gdb) bt full
#0  0x0818250c in buf_charpos_to_bytepos (b=0x896ae40, charpos=20)
    at marker.c:129
        tail = 0x7de100
        best_above = 16843009
        best_above_byte = 16843009
        best_below = 16843009
        best_below_byte = 16843009
#1  0x081c82fa in Fchar_after (pos=80) at editfns.c:1180
        pos_byte = 192
#2  0x082195ce in exec_byte_code (bytestr=141135289, vector=144648053, 
    maxdepth=28, args_template=0, nargs=0, args=0xbfffd1a8) at bytecode.c:1400
        count = 11
        op = 102
        vectorp = 0x89f2778
        stack = {
          pc = 0x89f4c29 "\305=\203\065", 
          byte_string = 141135289, 
          byte_string_start = 0x89f4c00 "\212\300\301!\210`)`\301\211\212\003b\210`\003W\203H", 
          constants = 144648053, 
          next = 0xbfffd1fc
        }
        top = 0xbfffce94
        result = -1073753864
#3  0x081d87cb in funcall_lambda (fun=144667045, nargs=0, arg_vector=0x0)
    at eval.c:3174
        val = 1
        syms_left = 0
        next = -1
        lexenv = 16777215
        count = 11
        i = 0
        optional = 0
        rest = 1
#4  0x081d8351 in Ffuncall (nargs=1, args=0xbfffd1a4) at eval.c:3058
        fun = 144667045
        original_fun = 144439418
        funcar = 142613314
        numargs = 0
        lisp_numargs = -1073753720
        val = -1073746940
        backtrace = {
          next = 0xbfffd468, 
          function = 0xbfffd1a4, 
          args = 0xbfffd1a8, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0x400
        i = 138774272
#5  0x08217ff4 in exec_byte_code (bytestr=141135145, vector=139161413, 
    maxdepth=48, args_template=1024, nargs=1, args=0xbfffd4d8)
    at bytecode.c:785
        count = 11
        op = 0
        vectorp = 0x84b6f48
        stack = {
          pc = 0x89f4c8a "\211\205", <incomplete sequence \312>, 
          byte_string = 141135145, 
          byte_string_start = 0x89f4c88 "\b \211\205", <incomplete sequence \312>, 
          constants = 139161413, 
          next = 0xbfffd51c
        }
        top = 0xbfffd1a4
        result = -1073753160
#6  0x081d87cb in funcall_lambda (fun=144668029, nargs=1, arg_vector=0x400)
    at eval.c:3174
        val = 0
        syms_left = 1024
        next = 138875314
        lexenv = 139022274
        count = 11
        i = 136905861
        optional = 139017306
        rest = 144745980
#7  0x081d8351 in Ffuncall (nargs=2, args=0xbfffd4d0) at eval.c:3058
        fun = 144668029
        original_fun = 144439490
        funcar = 144745980
        numargs = 1
        lisp_numargs = 6
        val = -1073752912
        backtrace = {
          next = 0xbfffd788, 
          function = 0xbfffd4d0, 
          args = 0xbfffd4d4, 
          nargs = 1, 
          debug_on_exit = 0
        }
        internal_args = 0x0
        i = 1
#8  0x08217ff4 in exec_byte_code (bytestr=141149337, vector=144663293, 
    maxdepth=20, args_template=0, nargs=0, args=0xbfffd804) at bytecode.c:785
        count = 11
        op = 1
        vectorp = 0x89f6300
        stack = {
          pc = 0x89f51eb "\205\063", 
          byte_string = 141149337, 
          byte_string_start = 0x89f51e8 "\306\b!\205\063", 
          constants = 144663293, 
          next = 0xbfffda3c
        }
        top = 0xbfffd4d0
        result = -1073752376
#9  0x081d87cb in funcall_lambda (fun=144664909, nargs=0, arg_vector=0x0)
    at eval.c:3174
        val = 192
        syms_left = 0
        next = 144244604
        lexenv = 138765568
        count = 11
        i = -1073752248
        optional = -1073751832
        rest = 138763420
#10 0x081d8351 in Ffuncall (nargs=1, args=0xbfffd800) at eval.c:3058
        fun = 144664909
        original_fun = 144664909
        funcar = -1073752048
        numargs = 0
        lisp_numargs = -1073752072
        val = 138909954
        backtrace = {
          next = 0xbfffd86c, 
          function = 0xbfffd800, 
          args = 0xbfffd804, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0xbfffd800
        i = 140358225
#11 0x081d6ded in eval_sub (form=142311374) at eval.c:2329
        vals = 0xbfffd800
        argnum = 1
        sa_count = 11
        sa_must_free = 0
        numargs = 4
        args_left = 138875314
        i = -1073752064
        maxargs = -1073744428
        argvals = {0, 0, 0, 0, 1, 64, 1028, -1073751912}
        fun = 138537901
        val = 138875314
        original_fun = 138989594
        original_args = 142311382
        funcar = -1073751320
        backtrace = {
          next = 0xbfffdca8, 
          function = 0xbfffd8d0, 
          args = 0xbfffd800, 
          nargs = 1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0xbfffd8c8, 
          var = 0x81bf2bc, 
          nvars = 139008810
        }
        gcpro2 = {
          next = 0x8491b28, 
          var = 0x87b882e, 
          nvars = 140358225
        }
        gcpro3 = {
          next = 0xbfffd8e8, 
          var = 0xbfffd800, 
          nvars = 1
        }
#12 0x081d52f1 in internal_catch (tag=144439058, func=0x81d698a <eval_sub>, 
    arg=142311374) at eval.c:1247
        c = {
          tag = 144439058, 
          val = 138875314, 
          next = 0xbfffe178, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {0, -1073744136, -1073744428, -1073751576, 
                1957156673, -1313861074}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {144427396, 144688469, 3221216332, 14095296, 1688, 
                  14095344, 1168, 14095296, 14090228, 3221215480, 4294967275, 
                  3221215460, 3221215456, 3221215656, 135213689, 144722430, 
                  102, 3221215656, 136019157, 144958808, 18, 144722403, 21, 
                  144722421, 4294967284, 3221216328, 135976766, 138768676, 
                  144715544, 0, 138766192, 16}
              }
            }}, 
          backlist = 0xbfffdca8, 
          handlerlist = 0xbffff0e8, 
          lisp_eval_depth = 8, 
          pdlcount = 11, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0xbfffda3c
        }
#13 0x08218a50 in exec_byte_code (bytestr=141149401, vector=144481013, 
    maxdepth=12, args_template=0, nargs=0, args=0xbfffdd14) at bytecode.c:966
        v1 = 142311374
        count = 11
        op = 141
        vectorp = 0x89c9af8
        stack = {
          pc = 0x89f51e1 "\207", 
          byte_string = 141149401, 
          byte_string_start = 0x89f51dc "\300\301\302D\215\207", 
          constants = 144481013, 
          next = 0xbfffdd7c
        }
        top = 0xbfffda00
        result = -1073751048
#14 0x081d87cb in funcall_lambda (fun=142961805, nargs=0, arg_vector=0x0)
    at eval.c:3174
        val = -1073750228
        syms_left = 0
        next = 139022274
        lexenv = 144152643
        count = 11
        i = 0
        optional = 139022274
        rest = 144683398
#15 0x081d8351 in Ffuncall (nargs=1, args=0xbfffdd10) at eval.c:3058
        fun = 142961805
        original_fun = 144439058
        funcar = 138877288
        numargs = 0
        lisp_numargs = -1
        val = 144715544
        backtrace = {
          next = 0xbfffdfe8, 
          function = 0xbfffdd10, 
          args = 0xbfffdd14, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0x0
        i = 144092736
#16 0x08217ff4 in exec_byte_code (bytestr=141111881, vector=144442541, 
    maxdepth=56, args_template=0, nargs=0, args=0xbfffe064) at bytecode.c:785
        count = 3
        op = 0
        vectorp = 0x89c04b0
        stack = {
          pc = 0x89f4546 "`\bGZ\310 ]\211`{\002\205\210", 
          byte_string = 141111881, 
          byte_string_start = 0x89f4530 "Ɖ\030\031Ɖ\032\033Ɖ\034\035\016 \036 \016!\036!\307 `\bGZ\310 ]\211`{\002\205\210", 
          constants = 144442541, 
          next = 0xbfffe29c
        }
        top = 0xbfffdd10
        result = -1073750216
#17 0x081d87cb in funcall_lambda (fun=144648341, nargs=0, arg_vector=0x0)
    at eval.c:3174
        val = 136520635
        syms_left = 0
        next = 13
        lexenv = 13
        count = 3
        i = -1073749976
        optional = 142593753
        rest = 144745980
#18 0x081d8351 in Ffuncall (nargs=1, args=0xbfffe060) at eval.c:3058
        fun = 144648341
        original_fun = 144648341
        funcar = 144683398
        numargs = 0
        lisp_numargs = 140358129
        val = 13
        backtrace = {
          next = 0xbfffe0cc, 
          function = 0xbfffe060, 
          args = 0xbfffe064, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0xbfffe060
        i = 13
#19 0x081d6ded in eval_sub (form=142311390) at eval.c:2329
        vals = 0xbfffe060
        argnum = 1
        sa_count = 3
        sa_must_free = 0
        numargs = 4
        args_left = 138875314
        i = -1073749920
        maxargs = -1073744428
        argvals = {144764256, 144764256, 144764256, -1073749720, 136515748, 
          144764256, 144764256, 21}
        fun = 138537901
        val = 21
        original_fun = 138989594
        original_args = 142311398
        funcar = -1073749672
        backtrace = {
          next = 0xbfffe508, 
          function = 0xbfffe130, 
          args = 0xbfffe060, 
          nargs = 1, 
          debug_on_exit = 0
        }
        gcpro1 = {
          next = 0x0, 
          var = 0x15, 
          nvars = 1
        }
        gcpro2 = {
          next = 0x14, 
          var = 0xbfffe020, 
          nvars = -1
        }
        gcpro3 = {
          next = 0x0, 
          var = 0xbfffe060, 
          nvars = 1
        }
#20 0x081d52f1 in internal_catch (tag=144439034, func=0x81d698a <eval_sub>, 
    arg=142311390) at eval.c:1247
        c = {
          tag = 144439034, 
          val = 138875314, 
          next = 0xbffff020, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {0, -1073744136, -1073744428, -1073749432, 
                1960253249, -1313861074}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {64, 138875314, 141415013, 144763011, 0, 3221217816, 
                  136155012, 142313510, 144466536, 3221218568, 3221217844, 
                  3221217848, 1, 144466536, 138875314, 142313486, 136083321, 
                  0, 1, 144421906, 139016874, 136905429, 8249600, 0, 1, 
                  144433773, 138875314, 3221223160, 3221222868, 3221218376, 
                  136413307, 3}
              }
            }}, 
          backlist = 0xbfffe508, 
          handlerlist = 0xbffff0e8, 
          lisp_eval_depth = 5, 
          pdlcount = 3, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0xbfffe29c
        }
#21 0x08218a50 in exec_byte_code (bytestr=142621345, vector=143511205, 
    maxdepth=12, args_template=0, nargs=0, args=0xbfffe6a8) at bytecode.c:966
        v1 = 142311390
        count = 3
        op = 141
        vectorp = 0x88dcea8
        stack = {
          pc = 0x89f4519 "\207", 
          byte_string = 142621345, 
          byte_string_start = 0x89f4514 "\300\301\302D\215\207", 
          constants = 143511205, 
          next = 0xbfffe6dc
        }
        top = 0xbfffe260
        result = 138875314
#22 0x081d87cb in funcall_lambda (fun=144650733, nargs=0, arg_vector=0x0)
    at eval.c:3174
        val = 142314326
        syms_left = 0
        next = 1
        lexenv = 132
        count = 3
        i = 239
        optional = 330
        rest = 194
#23 0x081d8351 in Ffuncall (nargs=1, args=0xbfffe6a4) at eval.c:3058
        fun = 144650733
        original_fun = 144439010
        funcar = 144050528
        numargs = 0
        lisp_numargs = -1073748648
        val = 138875314
        backtrace = {
          next = 0xbfffe638, 
          function = 0xbfffe6a4, 
          args = 0xbfffe6a8, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0x0
        i = 0
#24 0x081d79b1 in run_hook_with_args (nargs=1, args=0xbfffe6a4, 
    funcall=0x81d7dd2 <Ffuncall>) at eval.c:2715
        global_vals = 138875314
        sym = 144050530
        val = 140177678
        ret = 138875314
        gcpro1 = {
          next = 0x8554076, 
          var = 0x94f319, 
          nvars = 19371980
        }
        gcpro2 = {
          next = 0x54, 
          var = 0x874ed3a, 
          nvars = 9756455
        }
        gcpro3 = {
          next = 0x0, 
          var = 0x85fbf6c, 
          nvars = 84
        }
#25 0x081d774d in Frun_hook_with_args_until_success (nargs=1, args=0xbfffe6a4)
    at eval.c:2596
No locals.
#26 0x081d8055 in Ffuncall (nargs=2, args=0xbfffe6a0) at eval.c:2991
        fun = 138537805
        original_fun = 138989642
        funcar = 142313950
        numargs = 1
        lisp_numargs = -1073748248
        val = 0
        backtrace = {
          next = 0xbfffe948, 
          function = 0xbfffe6a0, 
          args = 0xbfffe6a4, 
          nargs = 1, 
          debug_on_exit = 0
        }
        internal_args = 0x0
        i = 137564781
#27 0x08217ff4 in exec_byte_code (bytestr=140357737, vector=144161493, 
    maxdepth=8, args_template=0, nargs=0, args=0xbfffe9b4) at bytecode.c:785
        count = 3
        op = 1
        vectorp = 0x897bad8
        stack = {
          pc = 0x89bcbbf "\207", 
          byte_string = 140357737, 
          byte_string_start = 0x89bcbbc "\300\301!\207", 
          constants = 144161493, 
          next = 0xbfffe9ec
        }
        top = 0xbfffe6a0
        result = 84
#28 0x081d87cb in funcall_lambda (fun=139636493, nargs=0, arg_vector=0x0)
    at eval.c:3174
        val = 136412603
        syms_left = 0
        next = 138875314
        lexenv = 138875314
        count = 3
        i = 1
        optional = 20
        rest = 144092736
#29 0x081d8351 in Ffuncall (nargs=1, args=0xbfffe9b0) at eval.c:3058
        fun = 139636493
        original_fun = 142592922
        funcar = 138905722
        numargs = 0
        lisp_numargs = 138751940
        val = 144182806
        backtrace = {
          next = 0xbfffec58, 
          function = 0xbfffe9b0, 
          args = 0xbfffe9b4, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0x0
        i = 144745980
#30 0x08217ff4 in exec_byte_code (bytestr=137349761, vector=142987797, 
    maxdepth=8, args_template=0, nargs=0, args=0xbfffecc4) at bytecode.c:785
        count = 3
        op = 0
        vectorp = 0x885d218
        stack = {
          pc = 0x83dd9a4 "\242\300=\207", 
          byte_string = 137349761, 
          byte_string_start = 0x83dd9a2 "\301 \242\300=\207", 
          constants = 142987797, 
          next = 0xbfffecfc
        }
        top = 0xbfffe9b0
        result = 40
#31 0x081d87cb in funcall_lambda (fun=142988685, nargs=0, arg_vector=0x0)
    at eval.c:3174
        val = 136083538
        syms_left = 0
        next = -1073744428
        lexenv = -1073744136
        count = 3
        i = -1073746776
        optional = -1073744136
        rest = 144092736
#32 0x081d8351 in Ffuncall (nargs=1, args=0xbfffecc0) at eval.c:3058
        fun = 142988685
        original_fun = 142988685
        funcar = 20
        numargs = 0
        lisp_numargs = 0
        val = 0
        backtrace = {
          next = 0xbfffef68, 
          function = 0xbfffecc0, 
          args = 0xbfffecc4, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0x40
        i = 0
#33 0x08217ff4 in exec_byte_code (bytestr=137348961, vector=137348981, 
    maxdepth=12, args_template=0, nargs=0, args=0xbfffeff4) at bytecode.c:785
        count = 3
        op = 0
        vectorp = 0x82fc778
        stack = {
          pc = 0x83ddcbe "\206-", 
          byte_string = 137348961, 
          byte_string_start = 0x83ddc97 "\b\206-", 
          constants = 137348981, 
          next = 0x0
        }
        top = 0xbfffecc0
        result = 0
#34 0x081d87cb in funcall_lambda (fun=137348933, nargs=0, arg_vector=0x0)
    at eval.c:3174
        val = -1073746176
        syms_left = 0
        next = 0
        lexenv = 0
        count = 3
        i = 0
        optional = 0
        rest = 0
#35 0x081d8351 in Ffuncall (nargs=1, args=0xbfffeff0) at eval.c:3058
        fun = 137348933
        original_fun = 140266706
        funcar = 0
        numargs = 0
        lisp_numargs = 0
        val = 0
        backtrace = {
          next = 0x0, 
          function = 0xbfffeff0, 
          args = 0xbfffeff4, 
          nargs = 0, 
          debug_on_exit = 0
        }
        internal_args = 0x84711b2
        i = 8192
#36 0x081d7a86 in call0 (fn=140266706) at eval.c:2763
        ret_ungc_val = 0
        gcpro1 = {
          next = 0x0, 
          var = 0x0, 
          nvars = 0
        }
#37 0x08155a0e in safe_run_hooks_1 () at keyboard.c:1868
No locals.
#38 0x081d5803 in internal_condition_case (bfun=0x81559f5 <safe_run_hooks_1>, 
    handlers=138875338, hfun=0x8155a10 <safe_run_hooks_error>) at eval.c:1493
        val = 136049314
        c = {
          tag = 138875314, 
          val = 138875314, 
          next = 0xbffff2c0, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {138875314, -1073744136, -1073744428, -1073745656, 
                1962276673, -1313174482}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {0 <repeats 13 times>, 8192, 0 <repeats 18 times>}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0xbffff388, 
          lisp_eval_depth = 0, 
          pdlcount = 3, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
        h = {
          handler = 138875338, 
          var = 138875314, 
          chosen_clause = 0, 
          tag = 0xbffff020, 
          next = 0xbffff388
        }
#39 0x08155c28 in safe_run_hook_funcall (nargs=1, args=0xbffff1c0)
    at keyboard.c:1923
No locals.
#40 0x081d79b1 in run_hook_with_args (nargs=1, args=0xbffff1c0, 
    funcall=0x8155bcb <safe_run_hook_funcall>) at eval.c:2715
        global_vals = 138875314
        sym = 138900098
        val = 142341494
        ret = 138875314
        gcpro1 = {
          next = 0x8477282, 
          var = 0x84711b2, 
          nvars = 1
        }
        gcpro2 = {
          next = 0xbffff188, 
          var = 0x81d8ec7, 
          nvars = 138988378
        }
        gcpro3 = {
          next = 0x84711b2, 
          var = 0xbffff6f8, 
          nvars = -1073744428
        }
#41 0x08155c7c in safe_run_hooks (hook=140266706) at keyboard.c:1940
        count = 2
#42 0x08154d88 in command_loop_1 () at keyboard.c:1586
        cmd = 138899954
        keybuf = {368, 138988880, 12721664, -1073743712, -1073745320, 
          136155277, 138988882, 138875314, 138988880, 0, -1208099712, 
          -1073807358, 1172880, 138988882, 138875314, 0, 0, 138875314, 
          139150642, 139126646, 137199973, 8249600, 0, 0, 138875314, 
          138875314, -1073744136, -1073744428, -1073745272, 136145288}
        i = 1
        prev_modiff = 130
        prev_buffer = 0x896ae40
        already_adjusted = 0
#43 0x081d5803 in internal_condition_case (bfun=0x8154608 <command_loop_1>, 
    handlers=138906194, hfun=0x8153fc9 <cmd_error>) at eval.c:1493
        val = 139126646
        c = {
          tag = 138875314, 
          val = 138875314, 
          next = 0xbffff3e8, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {-1073743712, -1073744136, -1073744428, -1073744984, 
                1961932609, -1313174482}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {0, 0, 32, 14095296, 14090228, 14095296, 12738336, 0, 
                  3221222304, 3221222232, 3221222244, 134545800, 1231096, 0, 
                  3086867584, 3221159938, 134544848, 134544138, 3086887576, 
                  1228788, 12704204, 34, 3221222012, 1150886, 16232436, 
                  138818752, 3221222548, 12721664, 3086887672, 2, 4294967295, 
                  1228788}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
        h = {
          handler = 138906194, 
          var = 138875314, 
          chosen_clause = 1, 
          tag = 0xbffff2c0, 
          next = 0x0
        }
#44 0x08154359 in command_loop_2 (ignore=138875314) at keyboard.c:1156
        val = -1073743712
#45 0x081d52f1 in internal_catch (tag=138904170, 
    func=0x8154335 <command_loop_2>, arg=138875314) at eval.c:1247
        c = {
          tag = 138904170, 
          val = 138875314, 
          next = 0x0, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {-1073743712, -1073744136, -1073744428, -1073744712, 
                1962047297, -1313861074}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {0 <repeats 16 times>, 13138350, 0, 0, 0, 138875314, 
                  3221222584, 136050488, 138551388, 138875314, 138894944, 
                  136485039, 142436960, 3221223584, 138551388, 138894944, 
                  138551388}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
#46 0x08154315 in command_loop () at keyboard.c:1135
No locals.
#47 0x08153c02 in recursive_edit_1 () at keyboard.c:756
        count = 1
        val = -1073744568
#48 0x08153d53 in Frecursive_edit () at keyboard.c:820
        count = 0
        buffer = 138875314
#49 0x081522df in main (argc=2, argv=0xbffff944) at emacs.c:1701
        dummy = -1073743720
        stack_bottom_variable = 8 '\b'
        do_initial_setlocale = 1
        skip_args = 0
        rlim = {
          rlim_cur = 8388608, 
          rlim_max = 18446744073709551615
        }
        no_loadup = 0
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0

Lisp Backtrace:
"pcomplete-parse-comint-arguments" (0xbfffd1a8)
"pcomplete-parse-arguments" (0xbfffd4d4)
0x89f6948 There is no member named size.
(gdb) pp globals.f_Vinhibit_quit
(post-command-hook . completion-in-region--postch)
(gdb) fin
Run till exit from #0  0x0818250c in buf_charpos_to_bytepos (b=0x896ae40, 
    charpos=20) at marker.c:129
0x081c82fa in Fchar_after (pos=80) at editfns.c:1180
Value returned is $9 = 20
(gdb) fin
Run till exit from #0  0x081c82fa in Fchar_after (pos=80) at editfns.c:1180
0x082195ce in exec_byte_code (bytestr=141135289, vector=144648053, 
    maxdepth=28, args_template=0, nargs=0, args=0xbfffd1a8) at bytecode.c:1400
Value returned is $10 = 368
(gdb) fin
Run till exit from #0  0x082195ce in exec_byte_code (bytestr=141135289, 
    vector=144648053, maxdepth=28, args_template=0, nargs=0, args=0xbfffd1a8)
    at bytecode.c:1400  C-c C-z

Program received signal SIGTSTP, Stopped (user).
0x0820826a in skip_chars (forwardp=1, string=141135209, lim=84, 
    handle_iso_classes=1) at syntax.c:1739
(gdb)

In GNU Emacs 24.0.50.2 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2011-07-19 on ubuntu
Windowing system distributor `The X.Org Foundation', version 11.0.10706000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ja_JP.utf8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: C/l

Minor modes in effect:
  shell-dirtrack-mode: t
  display-time-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  abbrev-mode: t

Recent input:
<backspace> SPC d d d d d d d d d d d d d d d d d d 
d d d d d d d d C-p d d d d d d d d d d d d d d d d 
d d d d d d d d d d d d d d d d d d d d d d d d d d 
d d d d d d d d d d d d d d d d d d d d d d d d d d 
d d d d d d d d d d d d d d d d d d d d d d d d d d 
d d d d d d d d d d d d d d d d d d d d d d d d d d 
d d d d d d d d d d d d d d d d d d d C-k d d d d d 
d d d d d d d d d d d d d d d d d d d d d d d d d d 
C-p d d d d d d d d d d n d d d d d d d d d d d d d 
d d d d d d d d d d d d d d d d d s y s <help-echo> 
<help-echo> C-x o C-x g r u n SPC - Q <return> C-c 
C-z b t <return> M-v M-v M-v M-v <escape> C-v C-x o 
C-v C-x o C-v C-v C-v C-v <escape> > C-x o C-x m C-x 
k <return> M-x e p <backspace> <backspace> r e p o 
r t <tab> <return>

Recent messages:
Showing message 968...done
Erase deleted messages from Rmail file? (y or n)  y
Expunging deleted messages...done
Computing summary lines...done
Saving file /home/handa/RMAIL...
Wrote /home/handa/RMAIL [2 times]
Computing summary lines...done
(No changes need to be saved)
Computing summary lines...done
Mark set

Load-path shadows:
/usr/local/work/emacs/stable/lisp/textmodes/table hides ~/emacslisp/table
/usr/local/work/emacs/stable/lisp/language/thai-word hides ~/emacslisp/thai-word
/usr/local/work/emacs/stable/lisp/textmodes/tex-mode hides ~/emacslisp/tex-mode
/usr/local/work/emacs/stable/lisp/emacs-lisp/syntax hides ~/emacslisp/syntax
/usr/local/work/emacs/stable/lisp/progmodes/prolog hides ~/emacslisp/prolog

Features:
(shadow sort mail-extr emacsbug gnus-util qp rmailkwd
rmailmm message format-spec rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader
mail-parse rfc2231 grep etags find-func pp help-fns gud
easy-mmode cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs help-mode view
compile multi-isearch vc-bzr add-log pcmpl-unix ansi-color
shell pcomplete comint ring time sendmail regexp-opt
rmail-sa rmail-spam-filter easymenu rmailsum rmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date
japan-util tooltip ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer loaddefs button faces cus-face
files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable
backquote make-network-process dynamic-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
emacs)





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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-07-24 12:07 bug#9160: 24.0.50; Emacs freezes in *shell* buffer Kenichi Handa
@ 2011-08-23  4:49 ` Stefan Monnier
  2011-08-25  0:52   ` Kenichi Handa
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Monnier @ 2011-08-23  4:49 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: 9160

> The latest trunk Emacs freezes in *shell* buffer in the
> following scenario.

> % emacs -Q
> M-x shell RET
> .. in *shell* buffer
> % mkdir tmp  (or if you already have tmp dir, % rm -rf tmp; mkdir tmp)
> % cd tmp
> % touch '0 a' '0-a'
> % ls 0<TAB>
> .. here <TAB> is a single tab and *Completions* buffer is
>    shown with this contents ...
> ------------------------------------------------------------
> Click <mouse-2> on ...
> In this buffer, ...

`ls 0\ TAB' hangs as well, but with the advantage that it can be stopped
with C-g, making it easier to debug.

I've installed the patch below which should fix the immediate problem as
well as improve completion behavior when you use "&&", pipes, or ";".


        Stefan


=== modified file 'lisp/pcomplete.el'
--- lisp/pcomplete.el	2011-06-17 18:52:46 +0000
+++ lisp/pcomplete.el	2011-08-23 04:44:56 +0000
@@ -811,15 +811,19 @@
       (while (< (point) end)
 	(skip-chars-forward " \t\n")
 	(push (point) begins)
-	(let ((skip t))
-	  (while skip
-	    (skip-chars-forward "^ \t\n")
-	    (if (eq (char-before) ?\\)
-		(skip-chars-forward " \t\n")
-	      (setq skip nil))))
+        (while
+            (progn
+              (skip-chars-forward "^ \t\n\\")
+              (when (eq (char-after) ?\\)
+                (forward-char 1)
+                (unless (eolp)
+                  (forward-char 1)
+                  t))))
 	(push (buffer-substring-no-properties (car begins) (point))
               args))
       (cons (nreverse args) (nreverse begins)))))
+(make-obsolete 'pcomplete-parse-comint-arguments
+               'comint-parse-pcomplete-arguments "24.1")
 
 (defun pcomplete-parse-arguments (&optional expand-p)
   "Parse the command line arguments.  Most completions need this info."

=== modified file 'lisp/shell.el'
--- lisp/shell.el	2011-06-17 18:52:46 +0000
+++ lisp/shell.el	2011-08-23 04:46:07 +0000
@@ -383,6 +383,21 @@
   :group 'shell
   :type '(choice (const nil) regexp))
 
+(defun shell-parse-pcomplete-arguments ()
+  "Parse whitespace separated arguments in the current region."
+  (let ((begin (save-excursion (shell-backward-command 1) (point)))
+	(end (point))
+	begins args)
+    (save-excursion
+      (goto-char begin)
+      (while (< (point) end)
+	(skip-chars-forward " \t\n")
+	(push (point) begins)
+        (looking-at "\\(?:[^\s\t\n\\]\\|'[^']*'\\|\"\\(?:[^\"\\]\\|\\\\.\\)*\"\\|\\\\.\\)*\\(?:\\\\\\|'[^']*\\|\"\\(?:[^\"\\]\\|\\\\.\\)*\\)?")
+        (goto-char (match-end 0))
+	(push (buffer-substring-no-properties (car begins) (point))
+              args))
+      (cons (nreverse args) (nreverse begins)))))
 
 (defun shell-completion-vars ()
   "Setup completion vars for `shell-mode' and `read-shell-command'."
@@ -396,8 +411,7 @@
   (set (make-local-variable 'comint-dynamic-complete-functions)
        shell-dynamic-complete-functions)
   (set (make-local-variable 'pcomplete-parse-arguments-function)
-       ;; FIXME: This function should be moved to shell.el.
-       #'pcomplete-parse-comint-arguments)
+       #'shell-parse-pcomplete-arguments)
   (set (make-local-variable 'pcomplete-termination-string)
        (cond ((not comint-completion-addsuffix) "")
              ((stringp comint-completion-addsuffix)






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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-08-23  4:49 ` Stefan Monnier
@ 2011-08-25  0:52   ` Kenichi Handa
  2011-08-28  5:16     ` Stefan Monnier
  0 siblings, 1 reply; 12+ messages in thread
From: Kenichi Handa @ 2011-08-25  0:52 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 9160

In article <jwv4o18pwdr.fsf-monnier+emacs@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> writes:

> > The latest trunk Emacs freezes in *shell* buffer in the
> > following scenario.

> > % emacs -Q
> > M-x shell RET
> > .. in *shell* buffer
> > % mkdir tmp  (or if you already have tmp dir, % rm -rf tmp; mkdir tmp)
> > % cd tmp
> > % touch '0 a' '0-a'
> > % ls 0<TAB>
> > .. here <TAB> is a single tab and *Completions* buffer is
> >    shown with this contents ...
> > ------------------------------------------------------------
> > Click <mouse-2> on ...
> > In this buffer, ...

> `ls 0\ TAB' hangs as well, but with the advantage that it can be stopped
> with C-g, making it easier to debug.

> I've installed the patch below which should fix the immediate problem as
> well as improve completion behavior when you use "&&", pipes, or ";".

Thank you I confirmed that the above test case now works.
But, found another bug.  If I use `rm' command instead of
`ls':
  % rm 0\ TAB
the completion doesn't work and I just see a message "No
match".

---
Kenichi Handa
handa@m17n.org






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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-08-25  0:52   ` Kenichi Handa
@ 2011-08-28  5:16     ` Stefan Monnier
  2011-09-06  6:19       ` Kenichi Handa
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Monnier @ 2011-08-28  5:16 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: 9160

> Thank you I confirmed that the above test case now works.
> But, found another bug.  If I use `rm' command instead of
> `ls':
>   % rm 0\ TAB
> the completion doesn't work and I just see a message "No
> match".

If there's not space after the backslash, then that's a bug that's
already in Emacs-23, and I don't know yet how to fix it.
When there is a space after the backslash, we indeed have a bug and
I think I've fixed it with the patch below.


        Stefan


=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2011-08-27 08:41:23 +0000
+++ lisp/ChangeLog	2011-08-28 05:14:29 +0000
@@ -1,3 +1,7 @@
+2011-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* shell.el (shell-parse-pcomplete-arguments): Unquote args (bug#9160).
+
 2011-08-27  Alan Mackenzie  <acm@muc.de>
 
 	* progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it

=== modified file 'lisp/shell.el'
--- lisp/shell.el	2011-08-23 05:25:17 +0000
+++ lisp/shell.el	2011-08-28 04:21:05 +0000
@@ -393,10 +393,28 @@
       (while (< (point) end)
 	(skip-chars-forward " \t\n")
 	(push (point) begins)
-        (looking-at "\\(?:[^\s\t\n\\]\\|'[^']*'\\|\"\\(?:[^\"\\]\\|\\\\.\\)*\"\\|\\\\.\\)*\\(?:\\\\\\|'[^']*\\|\"\\(?:[^\"\\]\\|\\\\.\\)*\\)?")
+        (let ((arg ()))
+          (while (looking-at
+                  (eval-when-compile
+                    (concat
+                     "\\(?:[^\s\t\n\\\"']+"
+                     "\\|'\\([^']*\\)'?"
+                     "\\|\"\\(\\(?:[^\"\\]\\|\\\\.\\)*\\)\"?"
+                     "\\|\\\\\\(\\(?:.\\|\n\\)?\\)\\)")))
         (goto-char (match-end 0))
-	(push (buffer-substring-no-properties (car begins) (point))
-              args))
+            (cond
+             ((match-beginning 3)       ;Backslash escape.
+              (push (if (= (match-beginning 3) (match-end 3))
+                        "\\" (match-string 3))
+                    arg))
+             ((match-beginning 2)       ;Double quote.
+              (push (replace-regexp-in-string
+                     "\\\\\\(.\\)" "\\1" (match-string 2))
+                    arg))
+             ((match-beginning 1)       ;Single quote.
+              (push (match-string 1) arg))
+             (t (push (match-string 0) arg))))
+          (push (mapconcat #'identity (nreverse arg) "") args)))
       (cons (nreverse args) (nreverse begins)))))
 
 (defun shell-completion-vars ()






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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-08-28  5:16     ` Stefan Monnier
@ 2011-09-06  6:19       ` Kenichi Handa
  2011-09-20  1:10         ` Stefan Monnier
  0 siblings, 1 reply; 12+ messages in thread
From: Kenichi Handa @ 2011-09-06  6:19 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 9160

In article <jwvr546azo6.fsf-monnier+emacs@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> writes:

> > Thank you I confirmed that the above test case now works.
> > But, found another bug.  If I use `rm' command instead of
> > `ls':
> >   % rm 0\ TAB
> > the completion doesn't work and I just see a message "No
> > match".

> If there's not space after the backslash, then that's a bug that's
> already in Emacs-23, and I don't know yet how to fix it.
> When there is a space after the backslash, we indeed have a bug and
> I think I've fixed it with the patch below.

I confirmed that that above test case is fixed now.  But, I
found several other bugs related completions.  All the
following testcases are with the latest trunk Emacs with -Q
argument, and they don't happen with Emacs 23.3.

(1) SPC not escaped in *Completions* buffer
% mkdir tmp
% cd tmp
% touch '0 a' '0-a'
% rm 0<tab>

Now the the *Completions* buffer is:
<...>
Possible completions are:
0 a
0-a

Note that SPC is not escapsed in '0 a'.  So, when I click
it, *shell* buffer becomes this:
% rm 0 a

This happens with 'ls' command too.

(2) The second arg to rm command is not completed.
% mkdir tmp
% cd tmp
% touch abc def
% rm a<tab>
% rm abc d<tab>

Now just "No match" is shown instead of "d" completed to
"def".  This DOES NOT happen with 'ls' command.

(3) Error in post-command-hook for *.tar.gz file.
% mkdir tmp
% cd tmp
% echo abc > abc
% echo def > def
% tar cfz temp.tar.gz abc def
% tar tfz temp<tab>

Now the command line is correctly completed to:
% tar tfz temp.tar.gz 

But, this error is signaled:

Error in post-command-hook (completion-in-region--postch): (wrong-type-argument listp [tar-header #<marker at 513 in  *tar-data temp.tar.gz*> abc 436 8308 8308 4 (20069 47563) 4380 nil  ustar  handa handa 0 0 nil])

---
Kenichi Handa
handa@m17n.org





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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-09-06  6:19       ` Kenichi Handa
@ 2011-09-20  1:10         ` Stefan Monnier
  2011-09-20  5:16           ` Kenichi Handa
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Monnier @ 2011-09-20  1:10 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: 9160

> I confirmed that that above test case is fixed now.  But, I
> found several other bugs related completions.  All the
> following testcases are with the latest trunk Emacs with -Q
> argument, and they don't happen with Emacs 23.3.

> (1) SPC not escaped in *Completions* buffer
> % mkdir tmp
> % cd tmp
> % touch '0 a' '0-a'
> % rm 0<tab>

> Now the the *Completions* buffer is:
> <...>
> Possible completions are:
> 0 a
> 0-a

> Note that SPC is not escapsed in '0 a'.  So, when I click

Yes, that by design.

> it, *shell* buffer becomes this:
> % rm 0 a

That's a known (to me) bug.
Making escaping (aka quoting) interact correctly with completion styles
like partial-completion and substring is actually a nasty problem.
The old code used to escape the strings returned by all-completions (so
the *Completions* buffer would show the escaped names), which solves
some of the problematic cases, but has the following downsides:
- it's aesthetically unpleasant (the *Completions* buffer does not need
  that kind of escaping).
- it's inefficient (requires escaping all elements of all-completions).
- more problematic: it doesn't actually solve the problem in all cases,
  because the user may have typed "a\bc" but the escaping code cannot
  know that the user decided to (unnecessarily) escape "b" so it won't
  escape "b" and we're back at the problem that the completion will fail
  because the output from all-completions doesn't actually match the
  user's input, even tho it should.
We have related problems with $ escaping in find-file (they manifest in
different ways because we half-solved the issues differently).

I'm still not quite sure yet how to best solve those problems, but it
seems that a real solution will have to handle a more general problem,
e.g. cases such as "/u-$b-c" in find-file, where "$b" is an env var that
expands to (say) "c/d".

> (2) The second arg to rm command is not completed.
> % mkdir tmp
> % cd tmp
> % touch abc def
> % rm a<tab>
> % rm abc d<tab>
> Now just "No match" is shown instead of "d" completed to
> "def".  This DOES NOT happen with 'ls' command.

I think I just fixed it with the patch below.

> (3) Error in post-command-hook for *.tar.gz file.
> % mkdir tmp
> % cd tmp
> % echo abc > abc
> % echo def > def
> % tar cfz temp.tar.gz abc def
> % tar tfz temp<tab>
> Now the command line is correctly completed to:
> % tar tfz temp.tar.gz 
> But, this error is signaled:
> Error in post-command-hook (completion-in-region--postch):
> (wrong-type-argument listp [tar-header #<marker at 513 in  *tar-data
> temp.tar.gz*> abc 436 8308 8308 4 (20069 47563) 4380 nil  ustar  handa handa
> 0 0 nil])

I cannot reproduce this error.  Has it been fixed in the mean time?


        Stefan


--- lisp/minibuffer.el	2011-09-02 00:36:58 +0000
+++ lisp/minibuffer.el	2011-09-20 01:00:12 +0000
@@ -322,14 +322,15 @@
     (test-completion string table pred2))
    (t
     (or (complete-with-action action table string
-                              (if (null pred2) pred1
+                              (if (not (and pred1 pred2))
+                                  (or pred1 pred2)
                                 (lambda (x)
                                   ;; Call `pred1' first, so that `pred2'
                                   ;; really can't tell that `x' is in table.
-                                  (if (funcall pred1 x) (funcall pred2 x)))))
+                                  (and (funcall pred1 x) (funcall pred2 x)))))
         ;; If completion failed and we're not applying pred1 strictly, try
         ;; again without pred1.
-        (and (not strict)
+        (and (not strict) pred1 pred2
              (complete-with-action action table string pred2))))))
 
 (defun completion-table-in-turn (&rest tables)
@@ -1774,7 +1775,7 @@
 
 (defun completion-file-name-table (string pred action)
   "Completion table for file names."
-  (ignore-errors
+  (with-demoted-errors
     (cond
      ((eq action 'metadata) '(metadata (category . file)))
      ((eq (car-safe action) 'boundaries)






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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-09-20  1:10         ` Stefan Monnier
@ 2011-09-20  5:16           ` Kenichi Handa
  2011-10-17 17:12             ` Stefan Monnier
  0 siblings, 1 reply; 12+ messages in thread
From: Kenichi Handa @ 2011-09-20  5:16 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 9160

In article <jwv4o08jkpf.fsf-monnier+emacs@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> writes:

> That's a known (to me) bug.
> Making escaping (aka quoting) interact correctly with completion styles
> like partial-completion and substring is actually a nasty problem.
> The old code used to escape the strings returned by all-completions (so
> the *Completions* buffer would show the escaped names), which solves
> some of the problematic cases, but has the following downsides:
> - it's aesthetically unpleasant (the *Completions* buffer does not need
>   that kind of escaping).
> - it's inefficient (requires escaping all elements of all-completions).
> - more problematic: it doesn't actually solve the problem in all cases,
>   because the user may have typed "a\bc" but the escaping code cannot
>   know that the user decided to (unnecessarily) escape "b" so it won't
>   escape "b" and we're back at the problem that the completion will fail
>   because the output from all-completions doesn't actually match the
>   user's input, even tho it should.
> We have related problems with $ escaping in find-file (they manifest in
> different ways because we half-solved the issues differently).

> I'm still not quite sure yet how to best solve those problems, but it
> seems that a real solution will have to handle a more general problem,
> e.g. cases such as "/u-$b-c" in find-file, where "$b" is an env var that
> expands to (say) "c/d".

I agree that there are many problems behind.  But, my
testcase is a fairly simple one.  Even if we can't solve all
the related problem at the moment, I think there should be
some workaround for such a simple case as far as it's a
regression.  For instance, is it difficult to escape all
necessary characters on inserting a clicked item into
*shell* buffer?

> > (2) The second arg to rm command is not completed.
> > % mkdir tmp
> > % cd tmp
> > % touch abc def
> > % rm a<tab>
> > % rm abc d<tab>
> > Now just "No match" is shown instead of "d" completed to
> > "def".  This DOES NOT happen with 'ls' command.

> I think I just fixed it with the patch below.

I confirmed that it's fixed, thank you.

> > (3) Error in post-command-hook for *.tar.gz file.
> > % mkdir tmp
> > % cd tmp
> > % echo abc > abc
> > % echo def > def
> > % tar cfz temp.tar.gz abc def
> > % tar tfz temp<tab>
> > Now the command line is correctly completed to:
> > % tar tfz temp.tar.gz 
> > But, this error is signaled:
> > Error in post-command-hook (completion-in-region--postch):
> > (wrong-type-argument listp [tar-header #<marker at 513 in  *tar-data
> > temp.tar.gz*> abc 436 8308 8308 4 (20069 47563) 4380 nil  ustar  handa handa
> > 0 0 nil])

> I cannot reproduce this error.  Has it been fixed in the mean time?

No.  I still see that error with the above testcase.

---
Kenichi Handa
handa@m17n.org





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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-09-20  5:16           ` Kenichi Handa
@ 2011-10-17 17:12             ` Stefan Monnier
  2011-12-02 12:06               ` Kenichi Handa
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Monnier @ 2011-10-17 17:12 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: 9160

> I agree that there are many problems behind.  But, my
> testcase is a fairly simple one.  Even if we can't solve all
> the related problem at the moment, I think there should be
> some workaround for such a simple case as far as it's a
> regression.  For instance, is it difficult to escape all
> necessary characters on inserting a clicked item into
> *shell* buffer?

We could use a hack that affects choose-completion when inserting into
a comint-mode or shell-mode buffer, but that's hackish and is likely to
introduce new problems.  In the mean time I did get "the right way" to
work (so quoting interacts well with completion-styles) and based on
this experience (which was not traumatic but requires a few changes
which shouldn't make it into 24.1 so late in the game) I decided that
for 24.1 we'll just revert to the 23 behavior of quoting the output of
all-completions for those shell completion tables.

>> > (3) Error in post-command-hook for *.tar.gz file.
>> > % mkdir tmp
>> > % cd tmp
>> > % echo abc > abc
>> > % echo def > def
>> > % tar cfz temp.tar.gz abc def
>> > % tar tfz temp<tab>
>> > Now the command line is correctly completed to:
>> > % tar tfz temp.tar.gz 
>> > But, this error is signaled:
>> > Error in post-command-hook (completion-in-region--postch):
>> > (wrong-type-argument listp [tar-header #<marker at 513 in  *tar-data
>> > temp.tar.gz*> abc 436 8308 8308 4 (20069 47563) 4380 nil  ustar  handa handa
>> > 0 0 nil])
>> I cannot reproduce this error.  Has it been fixed in the mean time?
> No.  I still see that error with the above testcase.

I still cannot reproduce it from "emacs -Q" following your above recipe.


        Stefan





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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-10-17 17:12             ` Stefan Monnier
@ 2011-12-02 12:06               ` Kenichi Handa
  2011-12-02 14:45                 ` Stefan Monnier
  0 siblings, 1 reply; 12+ messages in thread
From: Kenichi Handa @ 2011-12-02 12:06 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 9160

In article <jwvzkgzpwqf.fsf-monnier+emacs@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> > (3) Error in post-command-hook for *.tar.gz file.
>>> > % mkdir tmp
>>> > % cd tmp
>>> > % echo abc > abc
>>> > % echo def > def
>>> > % tar cfz temp.tar.gz abc def
>>> > % tar tfz temp<tab>
>>> > Now the command line is correctly completed to:
>>> > % tar tfz temp.tar.gz 
>>> > But, this error is signaled:
>>> > Error in post-command-hook (completion-in-region--postch):
>>> > (wrong-type-argument listp [tar-header #<marker at 513 in  *tar-data
>>> > temp.tar.gz*> abc 436 8308 8308 4 (20069 47563) 4380 nil  ustar  handa handa
>>> > 0 0 nil])
>>> I cannot reproduce this error.  Has it been fixed in the mean time?
> > No.  I still see that error with the above testcase.

> I still cannot reproduce it from "emacs -Q" following your above recipe.

I found that the culprit is large-file-warning-threshold.
When I set it to nil, the above error is signaled.

The docstring of large-file-warning-threshold is this:

------------------------------------------------------------
Maximum size of file above which a confirmation is requested.
When nil, never request confirmation.

You can customize this variable.

This variable was introduced, or its default value was changed, in
version 22.1 of Emacs.
------------------------------------------------------------

So nil is a valid value for this variable.

---
Kenichi Handa
handa@m17n.org





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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-12-02 12:06               ` Kenichi Handa
@ 2011-12-02 14:45                 ` Stefan Monnier
  2011-12-04 13:41                   ` Kenichi Handa
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Monnier @ 2011-12-02 14:45 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: 9160

> I found that the culprit is large-file-warning-threshold.
> When I set it to nil, the above error is signaled.

I've installed the patch below which should hopefully help.
Can you confirm?


        Stefan


=== modified file 'lisp/pcmpl-gnu.el'
--- lisp/pcmpl-gnu.el	2011-10-02 01:04:01 +0000
+++ lisp/pcmpl-gnu.el	2011-12-02 14:42:41 +0000
@@ -309,7 +309,8 @@
                      (let* ((fa (file-attributes (pcomplete-arg 1)))
                             (size (nth 7 fa)))
                        (and (numberp size)
-                            (< size large-file-warning-threshold))))
+                            (or (null large-file-warning-threshold)
+                                (< size large-file-warning-threshold)))))
                 (let ((file (pcomplete-arg 1)))
                   (completion-table-dynamic
                    (lambda (_string)






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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-12-02 14:45                 ` Stefan Monnier
@ 2011-12-04 13:41                   ` Kenichi Handa
  2011-12-04 15:38                     ` Stefan Monnier
  0 siblings, 1 reply; 12+ messages in thread
From: Kenichi Handa @ 2011-12-04 13:41 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 9160

In article <jwvobvr8244.fsf-monnier+emacs@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> writes:

> > I found that the culprit is large-file-warning-threshold.
> > When I set it to nil, the above error is signaled.

> I've installed the patch below which should hopefully help.
> Can you confirm?

Yes, I've just confimed that the bug was fixed.  Thank you.

---
handa@m17n.org





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

* bug#9160: 24.0.50; Emacs freezes in *shell* buffer.
  2011-12-04 13:41                   ` Kenichi Handa
@ 2011-12-04 15:38                     ` Stefan Monnier
  0 siblings, 0 replies; 12+ messages in thread
From: Stefan Monnier @ 2011-12-04 15:38 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: 9160-done

>> > I found that the culprit is large-file-warning-threshold.
>> > When I set it to nil, the above error is signaled.
>> I've installed the patch below which should hopefully help.
>> Can you confirm?
> Yes, I've just confimed that the bug was fixed.  Thank you.

Great, thanks,


        Stefan





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

end of thread, other threads:[~2011-12-04 15:38 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-24 12:07 bug#9160: 24.0.50; Emacs freezes in *shell* buffer Kenichi Handa
2011-08-23  4:49 ` Stefan Monnier
2011-08-25  0:52   ` Kenichi Handa
2011-08-28  5:16     ` Stefan Monnier
2011-09-06  6:19       ` Kenichi Handa
2011-09-20  1:10         ` Stefan Monnier
2011-09-20  5:16           ` Kenichi Handa
2011-10-17 17:12             ` Stefan Monnier
2011-12-02 12:06               ` Kenichi Handa
2011-12-02 14:45                 ` Stefan Monnier
2011-12-04 13:41                   ` Kenichi Handa
2011-12-04 15:38                     ` Stefan Monnier

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).