Git Product home page Git Product logo

wanderlust's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wanderlust's Issues

Hang when saving message with non-ascii characters

I've been mentioning this bug before, but finally I have some easy steps to
reproduce, plus a backtrace. I've seen this problem with the Ubuntu-packaged
versions of wl-beta and emacs23, and now reproduced this with a recent bzr
build of emacs and the wl packages as built from Dave Abrahams' git repo.

The procedure to reproduce (in my case) are quite easy: type some non-ascii
characters in a draft message in Wanderlust, something like

äëïöÿüäëïöüÿäëïöüÿäëïöüÿäëïöüÿäëïöüÿäëïöüÿäëïöüÿäëïöüÿäëïöüÿäëïöüÿäëïöüÿäëïöü

Try to save the draft (C-x s). This works. Now, copy the line about 50 times,
so you have a whole block of these characters. If I now try to save, emacs
gets very busy (CPU goes to the max), and it never seems to recover (waited
for at least 15 minutes), and I have to kill emacs. See the attached backtrace

  • it was from an -O2 build, but I hope it contains enough info for those in
    the know.

Note, I get this this same behavior in perfectly normal e-mails with only a
few of these non-ascii characters.

Before, someone suggested using
(mel-use-module 'mel-q '("quoted-printable" "Q"))
however, that gives me an error instead:
insert: Args out of range: "0123456789ABCDEF", 262140
and refuses to save.

I suspect something changed in Emacs 23 and Wanderlust (or flim, semi, apel)
do not play nice with that.

From emacs, I get the following backtrace:
#0 ccl_driver (ccl=0xbf929c64, source=0xbf929004, destination=0xbf939d10,

src_size=792, dst_size=0, charset_list=138340850) at ccl.c:879
    reg = 0xbf929c78
    ic = <value optimized out>
    code = <value optimized out>
    field1 = <value optimized out>
    field2 = <value optimized out>
    ccl_prog = 0xa869bb8
    src = <value optimized out>
    src_end = 0xbf929c64
    dst = <value optimized out>
    dst_end = 0xbf939d10
    jump_address = 256
    i = <value optimized out>
    j = <value optimized out>
    op = <value optimized out>
    stack_idx = <value optimized out>
    this_ic = <value optimized out>
    charset = <value optimized out>
    eof_ic = 4065

#1 0x080aaab8 in decode_coding_ccl (coding=0xbf939ebc) at coding.c:5254

    p = 0xa78fc4c "\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\n\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257"...
    source = 0xbf929004
    i = <value optimized out>
    src = <value optimized out>
    src_end = <value optimized out>
    charbuf = <value optimized out>
    charbuf_end = 0xbf939d10
    consumed_chars = 5120
    ccl = {
      idx = 18, 
      size = 4626, 
      prog = 0xa869bb8, 
      ic = 879, 
      eof_ic = 4065, 
      reg = {171, 0, 0, 1, 0, 0, 39, 1}, 
      private_state = 0, 
      last_block = 0, 
      status = 2, 
      buf_magnification = 4, 
      stack_idx = 0, 
      src_multibyte = 1, 
      dst_multibyte = 3, 
      cr_consumed = 4, 
      consumed = 0, 
      produced = 0, 
      suppress_error = 0, 
      eight_bit_control = 0, 
      quit_silently = 0
    }
    source_charbuf = {195, 164, 195, 164, 195, 171, 195, 171, 195, 182, 
      195, 182, 195, 175, 195, 175, 195, 164, 195, 164, 195, 171, 195, 
      171, 195, 182, 195, 182, 195, 175, 195, 175, 10, 195, 164, 195, 164, 
      195, 171, 195, 171, 195, 182, 195, 182, 195, 175, 195, 175, 195, 
      164, 195, 164, 195, 171, 195, 171, 195, 182, 195, 182, 195, 175, 
      195, 175, 195, 164, 195, 164, 195, 171, 195, 171, 195, 182, 195, 
      182, 195, 175, 195, 175, 195, 164, 195, 164, 195, 171, 195, 171, 
      195, 182, 195, 182, 195, 175, 195, 175, 195, 164, 195, 164, 195, 
      171, 195, 171, 195, 182, 195, 182, 195, 175, 195, 175, 195, 164, 
      195, 164, 195, 171, 195, 171, 195, 182, 195, 182, 195, 175, 195, 
      175, 195, 164, 195, 164, 195, 171, 195, 171, 195, 182, 195, 182, 
      195, 175, 195, 175, 195, 164, 195, 164, 195, 171, 195, 171, 195, 
      182, 195, 182, 195, 175, 195, 175, 195, 164, 195, 164, 195, 171, 
      195, 171, 195, 182, 195, 182, 195, 175, 195, 175, 195, 164, 195, 
      164, 195, 171, 195, 171, 195, 182, 195, 182, 195, 175, 195, 175, 10, 
      195, 164, 195, 164, 195, 171...}
    source_byteidx = {161655232, 384, 163986536, 164918584, 8, 104, 
      -537797761, 166117470, 17273144, 248, 163986432, 138011648, 
      161559552, 249, 1, 138011648, 163986432, -1080918776, 135690026, 
      138509314, 168783872, -1080918760, 135690026, 168057130, 5, 976, 
      163986568, 9, 166602328, 136, -537527425, 138340850, 166602472, 248, 
      163986432, 13, 161776752, 251, 1, 138011648, 166117376, -1080918680, 
      135690026, 139266098, 168778752, -1080918664, 135690026, 139256642, 
      139366400, -1080918648, 166118312, 138448890, 32768, 936, 530054270, 
      138011648, 170830848, 251, 166117376, 138448890, 171032576, 250, 1, 
      138011648, 166117376, -1080918584, 135690026, 166118334, 260, 
      -1080918568, 135690318, 168779598, 140851200, 249, 166118296, 
      138340922, 173239456, 920, 532151422, 5, 6, 251, 166117376, 
      138340850, 5, -1080918504, 1, 138011648, 166117376, -1080918488, 
      135690026, 138604850, 170297344, -1080918472, 135690026, 169881801, 
      169977648, 26, 166117672, 173358946, 173050184, 296, 531623891, 
      172269392, 231, 249, 166117376, 138340850, 10, 251, 1, 138011648, 
      166117376, -1080918392, 135690026, 166117694, 5, -1080918376, 
      135690180, 170298278, 174361024, 216, 166117656, 139270722, 0, 280, 
      531623923, 5, 168159784, 249, 166117376, 139938984, 34, -1080918328, 
      1, 138011648, 140770304, -1080918296, 135690026, 138367818, 67, 
      -1080918280, 140181544, 138340850, 0, -1073676288, 140771256, 10, 1, 
      952, 377474559, 138705944, 18, 251, 140770304, 140293773, 172743680, 
      250, 1, 140640432, 202, -1080918200, 135690318, 140771158, 
      138333184, -1080918184, 135690026, 138340970, 172552448, 271, 
      138941904, 139945032, 71, 464, 134217732, 10, 138640144, 249, 
      138941440, 138340850, 253, 248, 1, 138011648, 140773376, 
      -1080918104, 135690026, 138514986, 305, -1080918088, 70, 139424304, 
      71, -1080918088, 140773584, 139945037, 310, 208, -69730313, 434...}
    charset_list = 138340850

#2 0x080af762 in decode_coding (coding=0xbf939ebc) at coding.c:7159

    pos = <value optimized out>
    undo_list = 138340898
    translation_table = 138340850
    carryover = 0
    i = <value optimized out>

#3 0x080b2496 in decode_coding_object (coding=0xbf939ebc,

src_object=173143785, from=0, from_byte=0, to=9500, to_byte=9500, 
dst_object=138340898) at coding.c:7839
    destination = <value optimized out>
    dst_bytes = -1080844680
    chars = 9500
    bytes = 9500
    attrs = 4065
    saved_pt = -1
    saved_pt_byte = 134898167
    need_marker_adjustment = 0
    old_deactivate_mark = 138340898

#4 0x080b2c18 in code_convert_string (string=173143785,

coding_system=<value optimized out>, dst_object=138340898, encodep=0, 
nocopy=0, norecord=0) at coding.c:9133
    coding = {
      id = 914, 
      common_flags = 7680, 
      mode = 2, 
      spec = {
        iso_2022 = {
          flags = 17408928, 
          current_invocation = {279, 39120}, 
          current_designation = {1120, 16536494, 174293229, 173143849}, 
          single_shifting = 1120, 
          bol = -1080844552, 
          ctext_extended_segment_len = 136104856, 
          embedded_utf_8 = 0, 
          cmp_status = {
            state = 17409928, 
            method = 120, 
            old_form = 136106125, 
            length = 1120, 
            nchars = 17273144, 
            ncomps = 1190, 
            carryover = {9536, 109, 9516, 17408984, 16777216, 9520, 1, 
              17408928, 17408976, 3, 17403892, 17408928, 0, -1080844440, 
              16545944, -1080844432, 0, 138790746, 138594074, 17272865, 
              17408972, 9516, 17408972, 17408928, 135697035, 9516, 
              17408976, 17403892, 100000000, 2, -1080844392, 16528395, 
              173143784, 0, 9508, -1080844328, 135699141, -4, 100000000, 
              16536494, 135755716, 280, 175694912, 0, 19220, 1, 17409872, 
              113, 173143784, 9500, 173143848, -1080844280, 135702436, 
              173143784, 16531990, 9500, 176806632, 18944, 176806632, 
              17408928, 18940, 9500, 173143848, -1080844248, 135702612, 
              9500, 9500, -1080844120}
          }
        }, 
        ccl = 0x109a3a0, 
        utf_16 = {
          bom = 17408928, 
          endian = 279, 
          surrogate = 39120
        }, 
        utf_8_bom = 17408928, 
        emacs_mule = {
          full_support = 17408928, 
          cmp_status = {
            state = 279, 
            method = 39120, 
            old_form = 1120, 
            length = 16536494, 
            nchars = 174293229, 
            ncomps = 173143849, 
            carryover = {1120, -1080844552, 136104856, 0, 17409928, 120, 
              136106125, 1120, 17273144, 1190, 9536, 109, 9516, 17408984, 
              16777216, 9520, 1, 17408928, 17408976, 3, 17403892, 
              17408928, 0, -1080844440, 16545944, -1080844432, 0, 
              138790746, 138594074, 17272865, 17408972, 9516, 17408972, 
              17408928, 135697035, 9516, 17408976, 17403892, 100000000, 2, 
              -1080844392, 16528395, 173143784, 0, 9508, -1080844328, 
              135699141, -4, 100000000, 16536494, 135755716, 280, 
              175694912, 0, 19220, 1, 17409872, 113, 173143784, 9500, 
              173143848, -1080844280, 135702436, 173143784, 16531990, 
              9500, 176806632, 18944}
          }
        }
      }, 
      max_charset_id = 0, 
      safe_charsets = 0x9b2d06c "\377", 
      src_multibyte = 0, 
      dst_multibyte = 1, 
      head_ascii = 0, 
      produced = 0, 
      produced_char = 0, 
      consumed = 0, 
      consumed_char = 0, 
      errors = 0, 
      error_positions = 0xbf93a058, 
      result = CODING_RESULT_SUCCESS, 
      src_pos = 0, 
      src_pos_byte = 0, 
      src_chars = 9500, 
      src_bytes = 9500, 
      src_object = 173143785, 
      source = 0xa78e44c "\n\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\n\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253\303\253\303\266\303\266\303\257\303\257\303\244\303\244\303\253"..., 
      dst_pos = 1, 
      dst_pos_byte = 1, 
      dst_bytes = 18940, 
      dst_object = 138811141, 
      destination = 0xa070001 "\233\374\t\312\233\374\t\242\330\374\t!", 
      chars_at_source = 0, 
      charbuf = 0xbf929d10, 
      charbuf_size = 16384, 
      charbuf_used = 0, 
      annotated = 0, 
      carryover = "\030\241\223\277\350\025:\b\210\017:\b\362\351>\b(\241\223\277\253\027\030\b\362\351>\b\362\351>\b8\241\223\277\347\031\030\b\371\033\f\n\245\337\v\n\002\000\000\000 \000\000\000 \016:\b\350\025:\b", 
      carryover_bytes = 0, 
      default_char = 32, 
      detector = 0x809f900 <detect_coding_ccl>, 
      decoder = 0x80aa910 <decode_coding_ccl>, 
      encoder = 0x80ab1f0 <encode_coding_ccl>
    }
    chars = 4065
    bytes = -1080845040

#5 0x080b2da2 in Fdecode_coding_string (string=173143785,

coding_system=175649362, nocopy=138340850, buffer=138340850)
at coding.c:9175

No locals.
#6 0x081819b6 in Feval (form=176781598) at eval.c:2356

    numargs = <value optimized out>
    args_left = 138340850
    i = 4
    argvals = {173143785, 175649362, 138340850, 138340850, 1073758208, 
      168266222, -1080843768, 135797338}
    fun = <value optimized out>
    val = <value optimized out>
    original_fun = 138436770
    original_args = 176781646
    funcar = <value optimized out>
    backtrace = {
      next = 0xbf93a240, 
      function = 0xbf93a198, 
      args = 0xbf93a160, 
      nargs = 2, 
      evalargs = 1 '\001', 
      debug_on_exit = 0 '\000'
    }

#7 0x08181c10 in Fprog1 (args=176781678) at eval.c:446

    val = 138340850
    args_left = 176781678

#8 0x08181a5a in Feval (form=176781590) at eval.c:2293

    numargs = -1080845040
    args_left = 176781678
    i = <value optimized out>
    argvals = {138340850, 2, -1080843656, 280, 47, 176071698, -1080843656, 
      19220}
    fun = <value optimized out>
    val = <value optimized out>
    original_fun = 138449338
    original_args = 176781678
    funcar = <value optimized out>
    backtrace = {
      next = 0xbf93a2f0, 
      function = 0xbf93a258, 
      args = 0xbf93a254, 
      nargs = -1, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }

#9 0x081818c9 in Feval (form=176781582) at eval.c:2311

    numargs = <value optimized out>
    args_left = 176781718
    i = <value optimized out>
    argvals = {1120, 138489098, 174293224, 168878886, 0, 280, -1080843528, 
      280}
    fun = <value optimized out>
    val = <value optimized out>
    original_fun = 138472594
    original_args = 176781718
    funcar = <value optimized out>
    backtrace = {
      next = 0xbf93a3c0, 
      function = 0xbf93a308, 
      args = 0xbf93a304, 
      nargs = -1, 
      evalargs = 1 '\001', 
      debug_on_exit = 0 '\000'
    }

#10 0x08181c7d in Fprogn (args=176781574) at eval.c:415

    val = <value optimized out>

#11 0x08179576 in Fsave_excursion (args=176781574) at editfns.c:1012

    val = <value optimized out>

#12 0x08181a5a in Feval (form=176781550) at eval.c:2293

    numargs = -1080845040
    args_left = 176781574
    i = <value optimized out>
    argvals = {45, 176071698, -1080843288, 136108315, 169047696, 
      169046976, 6, 168879078}
    fun = <value optimized out>
    val = <value optimized out>
    original_fun = 138461050
    original_args = 176781574
    funcar = <value optimized out>
    backtrace = {
      next = 0xbf93a4b8, 
      function = 0xbf93a3d8, 
      args = 0xbf93a3d4, 
      nargs = -1, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }

#13 0x08181c7d in Fprogn (args=176781518) at eval.c:415

    val = <value optimized out>

#14 0x08181ef9 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3204
    val = <value optimized out>
    syms_left = 138340850
    next = 138594074
    i = 2
    optional = 0
    rest = 0

#15 0x0817fd9b in Ffuncall (nargs=3, args=0xbf93a510) at eval.c:3081

    fun = -1080845040
    original_fun = 176071698
    funcar = <value optimized out>
    numargs = 2
    val = <value optimized out>
    backtrace = {
      next = 0xbf93a560, 
      function = 0xbf93a510, 
      args = 0xbf93a514, 
      nargs = 2, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#16 0x081818f6 in Feval (form=169086262) at eval.c:2319

    numargs = <value optimized out>
    args_left = 138340850
    i = <value optimized out>
    argvals = {4780, -1, 19220, 176265235, 138266952, 0, 176244775, 18940}
    fun = <value optimized out>
    val = <value optimized out>
    original_fun = 138449842
    original_args = 169086310
    funcar = <value optimized out>
    backtrace = {
      next = 0xbf93a658, 
      function = 0xbf93a578, 
      args = 0xbf93a510, 
      nargs = 3, 
      evalargs = 1 '\001', 
      debug_on_exit = 0 '\000'
    }

#17 0x08181c7d in Fprogn (args=169086126) at eval.c:415

    val = <value optimized out>

#18 0x08181ef9 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3204
    val = <value optimized out>
    syms_left = 138340850
    next = 138710114
    i = 3
    optional = 0
    rest = 0

#19 0x0817fd9b in Ffuncall (nargs=4, args=0xbf93a6a0) at eval.c:3081

    fun = -1080845040
    original_fun = 169352754
    funcar = <value optimized out>
    numargs = 3
    val = <value optimized out>
    backtrace = {
      next = 0xbf93a7d8, 
      function = 0xbf93a6a0, 
      args = 0xbf93a6a4, 
      nargs = 3, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#20 0x081b8981 in Fbyte_code (bytestr=168598449, vector=173435365, maxdepth=20)

at bytecode.c:679
    op = <value optimized out>
    stack = {
      pc = 0xa2f5204 "\210\362\f!\210*\322 b\210\202\335\001\f\204\335\001\363\034\346 \036\064\322 \035\361\016\064\r\f#\210\362\f!\210+\326y\210,\202\022", 
      top = 0xbf93a6ac, 
      bottom = 0xbf93a6a0, 
      byte_string = 168598449, 
      byte_string_start = 0xa2f5050 "eb\210\306\b!\204\017", 
      constants = 173435365, 
      next = 0xbf93a870
    }
    top = 0xbf93a6a0
    result = <value optimized out>

#21 0x08181e04 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3211
    val = <value optimized out>
    syms_left = 138340850
    next = <value optimized out>
    i = 0
    optional = -1080842312
    rest = 170440640

#22 0x0817fd9b in Ffuncall (nargs=1, args=0xbf93a820) at eval.c:3081

    fun = -1080845040
    original_fun = 174883842
    funcar = <value optimized out>
    numargs = 0
    val = <value optimized out>
    backtrace = {
      next = 0xbf93a948, 
      function = 0xbf93a820, 
      args = 0xbf93a824, 
      nargs = 0, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#23 0x081b8981 in Fbyte_code (bytestr=168660033, vector=174369061, maxdepth=16)

at bytecode.c:679
    op = <value optimized out>
    stack = {
      pc = 0xa2f4f1c "\210eb\210\312\016\026\307\313#\203+", 
      top = 0xbf93a820, 
      bottom = 0xbf93a820, 
      byte_string = 168660033, 
      byte_string_start = 0xa2f4f04 "\b\204\a", 
      constants = 174369061, 
      next = 0xbf93a9f0
    }
    top = 0xbf93a820
    result = <value optimized out>

#24 0x08181e04 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3211
    val = <value optimized out>
    syms_left = 138340850
    next = <value optimized out>
    i = 3
    optional = 1
    rest = 0

#25 0x0817fd9b in Ffuncall (nargs=4, args=0xbf93a990) at eval.c:3081

    fun = -1080845040
    original_fun = 174883434
    funcar = <value optimized out>
    numargs = 3
    val = <value optimized out>
    backtrace = {
      next = 0xbf93aac8, 
      function = 0xbf93a990, 
      args = 0xbf93a994, 
      nargs = 3, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#26 0x081b8981 in Fbyte_code (bytestr=169525297, vector=174284141, maxdepth=28)

at bytecode.c:679
    op = <value optimized out>
    stack = {
      pc = 0xa2f4d45 "\020+\325ed\"\210\b@\bA@\036\037\036 \016!\203p", 
      top = 0xbf93a99c, 
      bottom = 0xbf93a990, 
      byte_string = 169525297, 
      byte_string_start = 0xa2f4cf4 "\212\306 \307\310\030\031\032\311\312\313\n\t#!\203\030", 
      constants = 174284141, 
      next = 0xbf93ac50
    }
    top = 0xbf93a990
    result = <value optimized out>

#27 0x08181e04 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3211
    val = <value optimized out>
    syms_left = 138340850
    next = <value optimized out>
    i = 0
    optional = -1080841496
    rest = 135797237

#28 0x0817fd9b in Ffuncall (nargs=1, args=0xbf93ab4c) at eval.c:3081

    fun = -1080845040
    original_fun = 173769658
    funcar = <value optimized out>
    numargs = 0
    val = <value optimized out>
    backtrace = {
      next = 0xbf93abb8, 
      function = 0xbf93ab4c, 
      args = 0xbf93ab50, 
      nargs = 0, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#29 0x081810a1 in run_hook_with_args (nargs=,

args=0xbf93ab4c, cond=to_completion) at eval.c:2683
    globals = -1080841212
    sym = 173769610
    val = <value optimized out>
    ret = 4065

#30 0x08181250 in Frun_hooks (nargs=1, args=0xbf93ac04) at eval.c:2537

    hook = {173769658}
    i = 1

#31 0x0818001a in Ffuncall (nargs=2, args=0xbf93ac00) at eval.c:3005

    fun = <value optimized out>
    original_fun = 138449194
    funcar = <value optimized out>
    numargs = 1
    val = <value optimized out>
    backtrace = {
      next = 0xbf93ace0, 
      function = 0xbf93ac00, 
      args = 0xbf93ac04, 
      nargs = 1, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#32 0x081b8981 in Fbyte_code (bytestr=169706833, vector=174278269, maxdepth=8)

at bytecode.c:679
    op = <value optimized out>
    stack = {
      pc = 0xa2f3d70 ")\207", 
      top = 0xbf93ac04, 
      bottom = 0xbf93ac00, 
      byte_string = 169706833, 
      byte_string_start = 0xa2f3d6c "\212\300\301!)\207", 
      constants = 174278269, 
      next = 0xbf93ae70
    }
    top = 0xbf93ac00
    result = <value optimized out>

#33 0x081819d2 in Feval (form=172899438) at eval.c:2352

    numargs = <value optimized out>
    args_left = 138340850
    i = 3
    argvals = {169706833, 174278269, 8, 0, 173016486, 1275088, 138235616, 
      139424309}
    fun = <value optimized out>
    val = <value optimized out>
    original_fun = 138460906
    original_args = 172899430
    funcar = <value optimized out>
    backtrace = {
      next = 0xbf93af48, 
      function = 0xbf93acf8, 
      args = 0xbf93acc0, 
      nargs = 3, 
      evalargs = 1 '\001', 
      debug_on_exit = 0 '\000'
    }

#34 0x0817f3b1 in internal_catch (tag=173769730, func=0x81814e0 ,

arg=172899438) at eval.c:1226
    c = {
      tag = 173769730, 
      val = 138340850, 
      next = 0xbf93b7e4, 
      gcpro = 0x0, 
      jmp = {{
          __jmpbuf = {-1080840672, 174283176, 18, -1080840696, 2098107439, 
            1974718272}, 
          __mask_was_saved = 0, 
          __saved_mask = {
            __val = {173016240, 3214126496, 138269432, 0, 173018240, 
              34856077, 1, 3214126628, 2, 3214126600, 135790507, 9747, 0, 
              247, 26, 0, 9748, 247, 247, 17, 138340850, 138383712, 
              136391592, 3214126628, 0, 138488576, 135628423, 174293224, 
              247, 3214126920, 3214126624, 3214126628}
          }
        }}, 
      backlist = 0xbf93af48, 
      handlerlist = 0xbf93b8ac, 
      lisp_eval_depth = 6, 
      pdlcount = 18, 
      poll_suppress_count = 1, 
      interrupt_input_blocked = 0, 
      byte_stack = 0xbf93ae70
    }

#35 0x081b92f8 in Fbyte_code (bytestr=169707753, vector=174283181, maxdepth=8)

at bytecode.c:854
    v1 = <value optimized out>
    op = -1080845040
    stack = {
      pc = 0xa2f3d46 "\205\017", 
      top = 0xbf93ae24, 
      bottom = 0xbf93ae20, 
      byte_string = 169707753, 
      byte_string_start = 0xa2f3d40 "\300 \210\301\302\215\205\017", 
      constants = 174283181, 
      next = 0xbf93aff0
    }
    top = 0xbf93ae20
    result = <value optimized out>

#36 0x08181e04 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3211
    val = <value optimized out>
    syms_left = 138340850
    next = <value optimized out>
    i = 0
    optional = -1080840328
    rest = -1438779392

#37 0x0817fd9b in Ffuncall (nargs=1, args=0xbf93af90) at eval.c:3081

    fun = -1080845040
    original_fun = 172267722
    funcar = <value optimized out>
    numargs = 0
    val = <value optimized out>
    backtrace = {
      next = 0xbf93b0c8, 
      function = 0xbf93af90, 
      args = 0xbf93af94, 
      nargs = 0, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#38 0x081b8981 in Fbyte_code (bytestr=173181201, vector=173057141, maxdepth=20)

at bytecode.c:679
    op = <value optimized out>
    stack = {
      pc = 0xa5209ce "\210)\341\327!\210\342\314 !\020\343\314 !\210+\317\314 !\210\344\314 !\210\b\022\345\346\347\016-\b#\327\"\210\350 \026.\351\312!\210\315\n\352\"\210\307\353!*\207\307\354!\207", 
      top = 0xbf93af90, 
      bottom = 0xbf93af90, 
      byte_string = 173181201, 
      byte_string_start = 0xa520954 "\306 \203\263", 
      constants = 173057141, 
      next = 0xbf93b230
    }
    top = 0xbf93af90
    result = <value optimized out>

#39 0x08181e04 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3211
    val = <value optimized out>
    syms_left = 138340850
    next = <value optimized out>
    i = 0
    optional = 137398430
    rest = -1080839976

#40 0x0817fd9b in Ffuncall (nargs=1, args=0xbf93b1d4) at eval.c:3081

    fun = -1080845040
    original_fun = 172196618
    funcar = <value optimized out>
    numargs = 0
    val = <value optimized out>
    backtrace = {
      next = 0xbf93b188, 
      function = 0xbf93b1d4, 
      args = 0xbf93b1d8, 
      nargs = 0, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#41 0x081810a1 in run_hook_with_args (nargs=,

args=0xbf93b1d4, cond=until_success) at eval.c:2683
    globals = 2
    sym = 138617002
    val = <value optimized out>
    ret = 4065

#42 0x0818001a in Ffuncall (nargs=2, args=0xbf93b1d0) at eval.c:3005

    fun = <value optimized out>
    original_fun = 138449890
    funcar = <value optimized out>
    numargs = 1
    val = <value optimized out>
    backtrace = {
      next = 0xbf93b308, 
      function = 0xbf93b1d0, 
      args = 0xbf93b1d4, 
      nargs = 1, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#43 0x081b8981 in Fbyte_code (bytestr=136587929, vector=136587949, maxdepth=20)

at bytecode.c:679
    op = <value optimized out>
    stack = {
      pc = 0x8386c1d "\204\350", 
      top = 0xbf93b1d4, 
      bottom = 0xbf93b1d0, 
      byte_string = 136587929, 
      byte_string_start = 0x8386b41 "r\306 \203\n", 
      constants = 136587949, 
      next = 0xbf93b3a0
    }
    top = 0xbf93b1d0
    result = <value optimized out>

#44 0x08181e04 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3211
    val = <value optimized out>
    syms_left = 138340850
    next = <value optimized out>
    i = 0
    optional = -1080839496
    rest = 135772610

#45 0x0817fd9b in Ffuncall (nargs=1, args=0xbf93b350) at eval.c:3081

    fun = -1080845040
    original_fun = 139203554
    funcar = <value optimized out>
    numargs = 0
    val = <value optimized out>
    backtrace = {
      next = 0xbf93b478, 
      function = 0xbf93b350, 
      args = 0xbf93b354, 
      nargs = 0, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#46 0x081b8981 in Fbyte_code (bytestr=136587417, vector=136587437, maxdepth=16)

at bytecode.c:679
    op = <value optimized out>
    stack = {
      pc = 0x8386d9d "\210\n\205=", 
      top = 0xbf93b350, 
      bottom = 0xbf93b350, 
      byte_string = 136587417, 
      byte_string_start = 0x8386d6e "\304 \b\203\r", 
      constants = 136587437, 
      next = 0x0
    }
    top = 0xbf93b350
    result = <value optimized out>

#47 0x08181e04 in funcall_lambda (fun=,

nargs=<value optimized out>, arg_vector=0xbf939d10) at eval.c:3211
    val = <value optimized out>
    syms_left = 138340850
    next = <value optimized out>
    i = 1
    optional = 1
    rest = 0

#48 0x0817fd9b in Ffuncall (nargs=2, args=0xbf93b510) at eval.c:3081

    fun = -1080845040
    original_fun = 138602770
    funcar = <value optimized out>
    numargs = 1
    val = <value optimized out>
    backtrace = {
      next = 0xbf93b6a8, 
      function = 0xbf93b510, 
      args = 0xbf93b514, 
      nargs = 1, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = <value optimized out>
    i = <value optimized out>

#49 0x0817d9a0 in Fcall_interactively (function=138602770,

record_flag=138340850, keys=138374957) at callint.c:869
    val = <value optimized out>
    specs = 4
    filter_specs = <value optimized out>
    teml = <value optimized out>
    up_event = 138340850
    enable = 0
    next_event = <value optimized out>
    prefix_arg = <value optimized out>
    string = 0x1 <Address 0x1 out of bounds>
    tem = 0x1 <Address 0x1 out of bounds>
    i = -1080838960
    j = 1
    foo = 0
    prompt1 = '\000' <repeats 99 times>
    arg_from_tty = 0
    key_count = <value optimized out>
    record_then_fail = <value optimized out>
    save_this_command = 138602770
    save_last_command = 138711954
    save_this_original_command = 138602770
    save_real_this_command = 138602770

#50 0x0817ff7b in Ffuncall (nargs=4, args=0xbf93b700) at eval.c:3030

    fun = <value optimized out>
    original_fun = <value optimized out>
    funcar = <value optimized out>
    numargs = 3
    val = <value optimized out>
    backtrace = {
      next = 0x0, 
      function = 0xbf93b700, 
      args = 0xbf93b704, 
      nargs = 3, 
      evalargs = 0 '\000', 
      debug_on_exit = 0 '\000'
    }
    internal_args = 0xbf93b704
    i = 4065

#51 0x08180159 in call3 (fn=138461098, arg1=138602770, arg2=138340850,

arg3=138340850) at eval.c:2854
    ret_ungc_val = -1080845040

#52 0x081215c2 in command_loop_1 () at keyboard.c:1904

    cmd = <value optimized out>
    lose = <value optimized out>
    keybuf = {96, 76, 136342401, 0, 135336768, 0, -1217183216, 
      -1080885246, 3105280, 136351760, -1217157868, 3162100, 16099712, 33, 
      0, -1080838264, -1080838448, 0, 0, 138340850, 139126762, 
      -1438779392, 3147048, -1080838228, 23, 139112256, 139112256, 
      139112272, -1080838200, 135356707}
    i = <value optimized out>
    prev_modiff = 196
    prev_buffer = 0xa3fe1b0
    already_adjusted = 0

#53 0x0817f2d1 in internal_condition_case (bfun=0x8121210 <command_loop_1>,

handlers=138378666, hfun=0x8119680 <cmd_error>) at eval.c:1490
    val = -1080845040
    c = {
      tag = 138340850, 
      val = 138340850, 
      next = 0xbf93b908, 
      gcpro = 0x0, 
      jmp = {{
          __jmpbuf = {139112256, 139112256, 139112272, -1080837944, 
            2101048367, 1974597440}, 
          __mask_was_saved = 0, 
          __saved_mask = {
            __val = {17, 17, 0, 0, 0, 17403892, 16545649, 3163760, 0, 
              3214129344, 3214129272, 3214129284, 0, 225011984, 136339544, 
              3082880, 16164742, 136342401, 140317872, 7757812, 0, 
              3077784080, 3214082050, 3105280, 136351760, 3077809428, 
              16121316, 3077809512, 3214129312, 4294967295, 3162100, 
              136339544}
          }
        }}, 
      backlist = 0x0, 
      handlerlist = 0x0, 
      lisp_eval_depth = 0, 
      pdlcount = 2, 
      poll_suppress_count = 1, 
      interrupt_input_blocked = 0, 
      byte_stack = 0x0
    }
    h = {
      handler = 138378666, 
      var = 138340850, 
      chosen_clause = 136338192, 
      tag = 0xbf93b7e4, 
      next = 0x0
    }

#54 0x08118b55 in command_loop_2 () at keyboard.c:1360

    val = -1080845040

#55 0x0817f3b1 in internal_catch (tag=138375738,

func=0x8118b30 <command_loop_2>, arg=138340850) at eval.c:1226
    c = {
      tag = 138375738, 
      val = 138340850, 
      next = 0x0, 
      gcpro = 0x0, 
      jmp = {{
          __jmpbuf = {139112256, 139112256, 139112272, -1080837672, 
            2099590191, 1974718272}, 
          __mask_was_saved = 0, 
          __saved_mask = {
            __val = {3214129604, 3214129752, 135366850, 3214129616, 0, 0, 
              0, 0, 0, 0, 138366560, 138340850, 138508048, 3214129592, 
              135729284, 138508050, 138505979, 138340850, 138366560, 0, 0, 
              16536494, 0, 0, 0, 0, 138340874, 0, 14, 3214129708, 
              138508050, 138340850}
          }
        }}, 
      backlist = 0x0, 
      handlerlist = 0x0, 
      lisp_eval_depth = 0, 
      pdlcount = 2, 
      poll_suppress_count = 1, 
      interrupt_input_blocked = 0, 
      byte_stack = 0x0
    }

#56 0x081194cf in command_loop () at keyboard.c:1339

No locals.
#57 0x0811987a in recursive_edit_1 () at keyboard.c:954

    val = <value optimized out>

#58 0x081199a2 in Frecursive_edit () at keyboard.c:1016

    buffer = 138340850

#59 0x0810fcf8 in main (argc=, argv=)

at emacs.c:1833
    dummy = -1080836760
    stack_bottom_variable = 8 '\b'
    do_initial_setlocale = 139112256
    skip_args = 0
    rlim = {
      rlim_cur = 8388608, 
      rlim_max = 18446744073709551615
    }
    no_loadup = 0
    junk = 0x0
    dname_arg = 0x0

Lisp Backtrace:
"decode-coding-string" (0xbf93a160)
"prog1" (0xbf93a254)
"insert" (0xbf93a304)
"save-excursion" (0xbf93a3d4)
"quoted-printable" (0xbf93a514)
"funcall" (0xbf93a510)
"mime-encode-region" (0xbf93a6a4)
"mime-edit-normalize-body" (0xbf93a824)
"mime-edit-translate-region" (0xbf93a994)
"mime-edit-translate-body" (0xbf93ab50)
"run-hooks" (0xbf93ac04)
"byte-code" (0xbf93acc0)
"mime-edit-translate-buffer" (0xbf93af94)
"wl-draft-save" (0xbf93b1d8)
"run-hook-with-args-until-success" (0xbf93b1d4)
"basic-save-buffer" (0xbf93b354)
"save-buffer" (0xbf93b514)
"call-interactively" (0xbf93b704)
"decode-coding-string" (0xbf93a160)
"prog1" (0xbf93a254)
"insert" (0xbf93a304)
"save-excursion" (0xbf93a3d4)
"quoted-printable" (0xbf93a514)
"funcall" (0xbf93a510)
"mime-encode-region" (0xbf93a6a4)
"mime-edit-normalize-body" (0xbf93a824)
"mime-edit-translate-region" (0xbf93a994)
"mime-edit-translate-body" (0xbf93ab50)
"run-hooks" (0xbf93ac04)
"byte-code" (0xbf93acc0)
"mime-edit-translate-buffer" (0xbf93af94)
"wl-draft-save" (0xbf93b1d8)
"run-hook-with-args-until-success" (0xbf93b1d4)
"basic-save-buffer" (0xbf93b354)
"save-buffer" (0xbf93b514)
"call-interactively" (0xbf93b704)
A debugging session is active.

Problem when signing mails in verbose mode

I use the mime-edit-pgp-verbose setted to t and I have some problems. This is used for selecting the certificate you want to use before sending the draft.

When pressing C-c C-c in a new draft, it shows a buffer that lets you select the signing certificate. When working with other buffers or when coincidence let this buffer opened the function wl-draft-send clones it instead of the draft leading to a "No recipient specified" error.

For correcting this I change the following in the definition of this function:

(defun wl-draft-send (&optional kill-when-done mes-string)
  "Send current draft message.
If KILL-WHEN-DONE is non-nil, current draft buffer is killed"
  (interactive)
;;; Don't call this explicitly.
;;; Added to 'wl-draft-send-hook (by teranisi)
;;;  (wl-draft-config-exec)
  (run-hooks 'wl-draft-send-hook)
  (when (or (not wl-interactive-send)
        (let ((curbuff (current-buffer))
          )
          (wl-draft-send-confirm)
          (switch-to-buffer curbuff)))

So it will restore the buffer I used when I called the function.

Hope this works 😄

cheers!

maildir: If mails get removed, summary view update breaks

I use a setup where wanderlust shares a maildir with other programs, and whenever some other program removes a message, wanderlust throws errors. To fix that I had to remove the elmo cache folders (sadly I do not have the error messages at hand anymore).

Slow operation is summary view with many messages (>40k)

I have maildir folders with more than 40 000 messages, and for them summary-view becomes really slow. Even moving the cursor lags.

I would guess that wanderlust uses some feature in emacs which does not scale to huge buffer-lengths (but that really is only guessing).

ELPA package stuff?

Is there any chance of packaging any of this for ELPA? Particularly the stuff in FLIM looks useful.

I would send you pull requests to patch those libraries into individual packages if there's a chance you will accept them.

Is there?

m17n.org closing

It was announced [1] on [email protected] on 2 April 2012 that cvs.m17n.org will close on 30 April 2012. Messages on the thread mention this repository collection as an existing copy of the repositories currently hosted on cvs.m17n.org for APEL, FLIM, SEMI, and Wanderlust.

Would the owners of this github repository collection consider making them the new official repositories for this software from 1 May 2012?

[1] http://article.gmane.org/gmane.mail.wanderlust.general/4911

Make detect-mime-charset-region slightly less horrible

From 1ad1af6c0ed05777039e982d4f0cb4b202d85024 Mon Sep 17 00:00:00 2001
From: Juliusz Chroboczek <[email protected]>
Date: Tue, 27 May 2014 19:01:33 +0200
Subject: [PATCH] Make detect-mime-charset-region slightly less horrible.

In order to detect the right charset to use for a text part, we used
to convert the region to a string, then convert that string to a list,
then uniquify the resulting list.  We now build the unique list on the
fly.

---
 mcs-20.el | 42 +++++++++++++++++++++++++++---------------
 1 file changed, 27 insertions(+), 15 deletions(-)

diff --git a/mcs-20.el b/mcs-20.el
index c153c9c..84b5aeb 100644
--- a/mcs-20.el
+++ b/mcs-20.el
@@ -214,29 +214,41 @@ It must be symbol."
 ((eval-when-compile (and (boundp 'mule-version)
             (null (string< mule-version "6.0"))))
 ;; for Emacs 23 and later
+(defun detect-mime-charset-list (chars)
+  "Return MIME charset for the list of characters CHARS."
+  (catch 'found
+    (mapc (lambda (cons)
+       (catch 'next
+         (mapc (lambda (ch) (unless (char-charset ch (car cons))
+                  (throw 'next nil)))
+           chars)
+         (throw 'found (cdr cons))))
+     charsets-mime-charset-alist)
+    default-mime-charset-for-write))
+
 (defun detect-mime-charset-string (string)
   "Return MIME charset for STRING."
-  (let ((src (string-to-list string))
+  (let ((chars (string-to-list string))
    tmp)
-    (setq tmp src)
+    (setq tmp chars)
     ;; Uniquify the list of characters.
     (while tmp
       (setq tmp (setcdr tmp (delq (car tmp) (cdr tmp)))))
-    ;; Detect charset from the list of characters.
-    (catch 'found
-      (mapc (lambda (cons)
-         (catch 'next
-       (mapc (lambda (ch) (unless (char-charset ch (car cons))
-                    (throw 'next nil)))
-             src)
-       (throw 'found (cdr cons))))
-       charsets-mime-charset-alist)
-      default-mime-charset-for-write)))
+    (detect-mime-charset-list chars)))

-(defsubst detect-mime-charset-region (start end)
+(defun detect-mime-charset-region (start end)
   "Return MIME charset for region between START and END."
-  (detect-mime-charset-string
-   (buffer-substring-no-properties start end))))
+  (let ((list '()))
+    (save-excursion
+      (goto-char start)
+      (while (< (point) end)
+   (let ((char (char-after)))
+     (unless (memq char list)
+       (push char list)))
+   (forward-char)))
+    (detect-mime-charset-list list)))
+
+)

 (t
 ;; for legacy Mule
-- 
2.0.0.rc4

Use last highest score part in multipart/alternative

From b972a4c86abeb6db9305f8a6b848c38343f13628 Mon Sep 17 00:00:00 2001
From: Juliusz Chroboczek <[email protected]>
Date: Thu, 29 May 2014 21:43:19 +0200
Subject: [PATCH] Use last highest score part in multipart/alternative.

RFC 2046 paragraph 5.1.4 says:

  Receiving user agents should pick and display the last format
  they are capable of displaying.

---
 mime-view.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mime-view.el b/mime-view.el
index 65e158b..e145689 100644
--- a/mime-view.el
+++ b/mime-view.el
@@ -972,7 +972,7 @@ Score is integer or function which receives entity and returns integer."
                    child default-situation))
             (when (cdr (assq 'body-presentation-method child-situation))
               (setq score (mime-view-entity-score child child-situation))
-              (when (> score max-score)
+              (when (>= score max-score)
                 (setq p child
                       max-score score)
                 ))
-- 
2.0.0.rc4

README install sources outdated

As mentioned [1] on [email protected] recently, the README file for this repository still describes installing from CVS on cvs.m17.org. I would suggest that this section of the README should be removed, at or least marked as outdated. Additionally, the INSTALL file also mentioned these defunct CVS repositories, as do the INSTALL files of the other repositories in the wanderlust collection. (It would be good to make changes in this repository rather than in a fork to emphasise its status as semi-official.)

Related to this, some changes to the EmacsWiki page [2] have been suggested [3].

[1] http://article.gmane.org/gmane.mail.wanderlust.general/5108
[2] http://emacswiki.org/emacs/WanderLust
[3] http://article.gmane.org/gmane.mail.wanderlust.general/5110

IMAP folder creation hangs wl

When I try to create a new folder on my IMAP server with the folder manager in wl (using m a), it hangs wanderlust which just sits there spinning until I break with C-g.

Running M-x toggle-debug-on-quit RET and then pressing C-g generates the output in the following paste, which I don't understand. Feedback appreciated.

http://pastebin.com/5Pwa4RTf

Please reorder charsets-mime-charset-alist to try iso-8859-15 earlier

Hi,

I've just noticed something strange -- I'm sometimes sending out mails encoded in ISO 8859-7 (ISO Greek) although they aren't using any Greek characters. The explanation is a wrong ordering of charsets-mime-charset-alist.

When choosing a MIME charset for sending, APEL consults the variable charsets-mime-charset-alist, which contains a list of charsets ordered by decreasing priority. If a message is written in English (ASCII-only) but contains a stray Euro sign (a fairly common case), the current ordering picks ISO 8859-7 (ISO Greek) while the preferred encoding should be ISO 8859-15 (ISO Latin-9, the bug-fixed Western-European encoding).

The fix would be to move the ISO 8859-15 entry just after ISO 8859-4. This will cause the older multilingual encodings (1 through 4) to be preferred to ISO 8859-15, for the sake of old mailers, but ISO 8859-15 to be preferred to the locale-specific encodings (KOI8-R and ISO 8859-7). Note that this won't break anything for the Greeks — ISO 8859-7 will still be used when there is a Greek character in a mail.

'cl-labels' with dynamic scoping is not implemented

When I run M-x wl it gives me an error while initializing

'cl-labels' with dynamic scoping is not implemented

Should I disable something in my config? Any advice?

GNU Emacs 24.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.12) of 2012-09-22 on batsu, modified by Debian

Include Hashcash Support

I would be nice to see Wanderlust include Hashcash support for fighting spam. Basically, it's a proof-of-work system that clients do before sending the mail. Tokens are minted for each To: and Cc:, and put into the headers. Spamassassin already checks if the Hashcash headers are present, and will score the email for spam based on the size of the token. Check out http://hashcash.org for more info.

smtp with starttls stalls and does not work

Recently my email provider (web.de) started requiring STARTTLS for SMTP. But when I set starttls for SMTP, I wanderlust just stalls for a long time and then does not send my mail.

I only see this:

Opening STARTTLS connection to `smtp.web.de:smtp'...done
Sending (2/2)...failed
wrong-type-argument: arrayp, nil
0 message(s) are sent.

My .emacs.d is set as follows:

(setq
  elmo-maildir-folder-path "~/.local/share/mail"          ;; where i store my mail

  wl-smtp-posting-server "smtp.web.de" ;; put the smtp server here
  wl-smpt-posting-port 587
  wl-smtp-posting-user "arne_bab"
  wl-smtp-authenticate-type "LOGIN"
  wl-smtp-connection-type 'starttls
  wl-local-domain "draketo.de"         ;; put something here...
  wl-message-id-domain "web.de"        ;; ...

  wl-from "Arne Babenhauserheide <[email protected]>"                  ;; my From:
  wl-bcc "[email protected]"             ;; Send a bcc to myself by default
                                       ;; to synchronize my info about my sent mails
                                       ;; between different accounts.

  ;; note: all below are dirs (Maildirs) under elmo-maildir-folder-path
  ;; the '.'-prefix is for marking them as maildirs
  wl-fcc ".sent-mail"                       ;; sent msgs go to the "sent"-folder
  wl-fcc-force-as-read t               ;; mark sent messages as read
  wl-default-folder ".inbox"           ;; my main inbox
  wl-draft-folder ".drafts"            ;; store drafts in 'postponed'
  wl-trash-folder ".trash"             ;; put trash in 'trash'
  wl-spam-folder ".gruppiert/Spam"              ;; ...spam as well
  wl-queue-folder ".outbox"             ;; we don't use this

  ;; check this folder periodically, and update modeline
  wl-biff-check-folder-list '(".todo") ;; check every 180 seconds
                                       ;; (default: wl-biff-check-interval)

  mc-pgp-user-id "FE96C404"

  ;; hide many fields from message buffers
  wl-message-ignored-field-list '("^.*:")
  wl-message-visible-field-list
  '("^\\(To\\|Cc\\):"
    "^Subject:"
    "^\\(From\\|Reply-To\\):"
    "^Organization:"
    "^Message-Id:"
    "^\\(Posted\\|Date\\):"
    )
  wl-message-sort-field-list
  '("^From"
    "^Organization:"
    "^X-Attribution:"
     "^Subject"
     "^Date"
     "^To"
     "^Cc"))

(and I just realized that due to including no password and the username being in the email address anyway, I can actually copy-paste this config!)

re-read folder config

I can't seem to find a way to get a running wl to re-read the folders on th IMAP server. I have added a folder using another IMAP client and would like wl to use that, by refreshing its ideas of which folders exists.

Digest flag broken

Go into a summary buffer, and type

V flag <RET> Digest <RET>

Empty summary results.

IMAP STATUS command MUST NOT be used as a "check for new messages in the selected mailbox" operation (RFC3501)

(picked up from BUGS, a nasty one)

IMAP STATUS command MUST NOT be used as a "check for new messages in
the selected mailbox" operation (RFC3501).

The clean solution would be:

- check if mailbox is selected before calling STATUS

  - if it isn't, proceed with STATUS

  - if it is, issue a NOOP and maybe update folder information

The NOOP command might or might not return status update for FOLDER.
So we should get current message counters and return them if NOOP
returns nothing.

The fun starts here:

5.2. Mailbox Size and Message Status Updates

At any time, a server can send data that the client did not request.
Sometimes, such behavior is REQUIRED.  For example, agents other than
the server MAY add messages to the mailbox (e.g., new message
delivery), change the flags of the messages in the mailbox (e.g.,
simultaneous access to the same mailbox by multiple agents), or even
remove messages from the mailbox.  A server MUST send mailbox size
updates automatically if a mailbox size change is observed during the
processing of a command.  A server SHOULD send message flag updates
automatically, without requiring the client to request such updates
explicitly.

...

Regardless of what implementation decisions a client makes on
remembering data from the server, a client implementation MUST record
mailbox size updates.  It MUST NOT assume that any command after the
initial mailbox selection will return the size of the mailbox.

RFC3501

The server responses in question are:

  • EXISTS (RFC3501, 7.3.1)

  • RECENT (RFC3501, 7.3.2)

  • EXPUNGE (RFC3501, 7.4.1)

  • FETCH (RFC3501, 7.4.2)

    "This response occurs as the result of a FETCH or STORE command,
    as well as by unilateral server decision (e.g., flag updates)."

New messages are not noticed over IMAP

After exiting the %INBOX summary, new messages in %INBOX are not noticed even when I press s or S in the folders buffer. In order to notice new messages, I need to enter some other mailbox, and then return to the folders buffer.

Perhaps related, the IMAP server complains with CLIENTBUG:

<- elmo-imap4417 status INBOX (recent unseen messages uidnext)
-> * STATUS "INBOX" (MESSAGES 224 RECENT 0 UIDNEXT 1826 UNSEEN 9)
-> elmo-imap4417 OK [CLIENTBUG] Status on selected mailbox completed.

horizontal folder pane

Is there a way to get the folder pane not on the left hand side but e.g. on top above of the summary window? I am working on a rotated screen (portrait/document) and the folder pane on the left takes up too much space.

Emacs 24.3.1 stale network connections

Using latest version from this repository and Emacs 24.3.1 from Debian (unstable), I'm finding that my network connections to my IMAP folders don't last very long. That is, if I don't do any folder operations (checking, copying, deleting) for some time (maybe about 1 or 2 minutes), I find that attempting to do so just waits indefinitely. The operation is quittable. I have to unplug and replug Wanderlust before I can get any folder actions to work again. I believe this started when my Emacs was upgraded to its current version.

Need description of what "killed" actually means

especially in NNTP folders. Finding out that you can use all-entirely to get back killed messages back is nontrivial. Also the fact that `D' will suppress future messages in a thread is non-obvious

renaming imap folder results in "IMAP error: No mailbox selected"

Hallo,
while attempting to rename imap folder, I only obtain the above mentioned message
error.
This is with wl-beta,
debian release 2.15.9+0.20130701-1
The imap server is dovecot, version 1.2.15-7
Thank you for this very nice piece of software
Fulvio Ciriaco

Elmo treats IMAP4 messages flagged as both unseen and answered as seen

I've found that when IMAP4 message is marked as both unseen and
answered, elmo forces it to be marked as seen. The following code
snipped is responsible for it (elmo-imap4.el:942,
elmo-imap4-fetch-callback-1-subr):

(when (and (or (memq 'important flag-list)
                         (memq 'answered flag-list))
           (memq 'unread flag-list))
    (setq elmo-imap4-seen-messages
             (cons (elmo-message-entity-number entity) 
                       elmo-imap4-seen-messages)))

I suppose that this behavior is wrong. Here is an example of situation
when this behavior complicates usage of wanderlust: I'm reading lots of
corporate mail lists accessed as IMAP4 shared folders. When someone
posts reply to some message in such shared folder, it becomes flagged as
answered and unseen until I read it (after which it becomes marked as
answered only). elmo automatically clears 'unread' flag in this case,
which makes wl-summary-down to skip this message - despite the fact that
I haven't read it. So I need to look for such messages manually, which
is very inconvinient...

I don't know whether the behavior of IMAP4 shared folders described
above is common or not, but I still suggest removing of the fragment of
code cited above. Answered doesn't imply seen - because it could be
unseen by you, but answered by someone else - which is quite common in
case of shared folders.

Problem with make install

I am having a weird error with make install on a checkout from today.

# sudo make install | more
emacs -batch -q -no-site-file  -l WL-MK -f install-wl-package \
            NONE NONE
Loading /home/tdimiduk/code/wanderlust/WL-CFG...
Loading /home/tdimiduk/code/wanderlust/WL-ELS...
Loading mail-mime-setup...
gnus-mime-setup is not found.
emh-setup is not found.
LISPDIR is /usr/local/share/emacs/site-lisp
PIXMAPDIR is /usr/share/emacs/24.1/etc/wl/icons/

utf7.el -> /usr/local/share/emacs/site-lisp/wl
Removing old name
Removing old name
Removing old name
Removing old name
....

And then it outputs Removing old name seemingly infinitely and never finishes.

I am using emacs24 on ubuntu 12.10 with flim, apel, and semi from the ubuntu repository.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.