* bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff
@ 2017-04-09 9:33 Eli Zaretskii
2017-04-09 11:56 ` npostavs
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2017-04-09 9:33 UTC (permalink / raw)
To: 26412
It seems minibuffer completion, via its subroutine
help--load-prefixes, is too eager to probe unrelated stuff, for some
reason. Here's one example:
emacs -Q
C-h f default-font-height RET
Observe in the echo area the message "No MH variant found on the
system" (also logged in "*Messages*") before the doc string of
default-font-height is shown and the usual "Type C-x 1 to delete the
help window." message is displayed in the echo area. (If you do have
MH installed, the message will state its variant instead.)
Recompiling all the *.el files doesn't help.
Why would minibuffer completion of a symbol want to know whether I
have MH installed??
As another example, why would the same "C-h f" command need to know
what kind of movemail program I have? But it does, see the second
backtrace below, obtained by setting a breakpoint at call-process and
repeating the same recipe above.
I see this both on MS-Windows (details below) and on GNU/Linux, with
today's master branch.
Here's the backtrace from the call to Fmessage:
Thread 1 hit Breakpoint 4, Fmessage (nargs=1, args=0x8293f0) at editfns.c:3755
3755 if (NILP (args[0])
(gdb) pp args[0]
"No MH variant found on the system"
(gdb) bt
#0 Fmessage (nargs=1, args=0x8293f0) at editfns.c:3755
#1 0x0122a13c in funcall_subr (subr=0x167c260 <Smessage>, numargs=1,
args=0x8293f0) at eval.c:2798
#2 0x01229c9e in Ffuncall (nargs=2, args=0x8293e8) at eval.c:2743
#3 0x0128cf6c in exec_byte_code (bytestr=-9223372036743230024,
vector=-6917529027527996568, maxdepth=4611686018427387911,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#4 0x0122b5a5 in funcall_lambda (fun=-6917529027609201480, nargs=1,
arg_vector=0x829910) at eval.c:3021
#5 0x01229ce2 in Ffuncall (nargs=2, args=0x829908) at eval.c:2745
#6 0x0128cf6c in exec_byte_code (bytestr=-9223372036743273424,
vector=-6917529027528024440, maxdepth=4611686018427387907,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#7 0x0122b5a5 in funcall_lambda (fun=-6917529027527981832, nargs=2,
arg_vector=0x829d90) at eval.c:3021
#8 0x01229ce2 in Ffuncall (nargs=3, args=0x829d88) at eval.c:2745
#9 0x0128cf6c in exec_byte_code (bytestr=-9223372036834225968,
vector=-6917529027620532000, maxdepth=4611686018427387910,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#10 0x0122b5a5 in funcall_lambda (fun=-6917529027620532064, nargs=2,
arg_vector=0x82a250) at eval.c:3021
#11 0x01229ce2 in Ffuncall (nargs=3, args=0x82a248) at eval.c:2745
#12 0x0128cf6c in exec_byte_code (bytestr=-9223372036834225032,
vector=-6917529027620531064, maxdepth=4611686018427387910,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#13 0x0122b5a5 in funcall_lambda (fun=-6917529027620531160, nargs=11,
arg_vector=0x82a7e0) at eval.c:3021
#14 0x01229ce2 in Ffuncall (nargs=12, args=0x82a7d8) at eval.c:2745
#15 0x0128cf6c in exec_byte_code (bytestr=-9223372036743226488,
vector=-6917529027528361288, maxdepth=4611686018427387916,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#16 0x0128c080 in Fbyte_code (bytestr=-9223372036743226488,
vector=-6917529027528361288, maxdepth=4611686018427387916)
at bytecode.c:321
#17 0x01227c78 in eval_sub (form=-4611686018315110544) at eval.c:2225
#18 0x0126cf92 in readevalloop (readcharfun=28280,
stream=0x77c5fce0 <msvcrt!_iob+96>, sourcename=-9223372036742031152,
printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#19 0x0126ab80 in Fload (file=-9223372036833819840, noerror=691512,
nomessage=691568, nosuffix=0, must_suffix=0) at lread.c:1332
#20 0x0122a3ab in funcall_subr (subr=0x167dd10 <Sload>, numargs=3,
args=0x82b588) at eval.c:2830
#21 0x01229c9e in Ffuncall (nargs=4, args=0x82b580) at eval.c:2743
#22 0x0128cf6c in exec_byte_code (bytestr=-9223372036743270768,
vector=-6917529027615487408, maxdepth=4611686018427387917,
args_template=4611686018427388161, nargs=1, args=0x82ba68)
at bytecode.c:641
#23 0x0122af15 in funcall_lambda (fun=-6917529027615488544, nargs=1,
arg_vector=0x82ba60) at eval.c:2943
#24 0x01229ce2 in Ffuncall (nargs=2, args=0x82ba58) at eval.c:2745
#25 0x0128cf6c in exec_byte_code (bytestr=-9223372036743270592,
vector=-6917529027615488864, maxdepth=4611686018427387919,
args_template=4611686018427388675, nargs=3, args=0x82bf60)
at bytecode.c:641
#26 0x0122af15 in funcall_lambda (fun=-6917529027615488496, nargs=3,
arg_vector=0x82bf48) at eval.c:2943
#27 0x01229ce2 in Ffuncall (nargs=4, args=0x82bf40) at eval.c:2745
#28 0x01229411 in call3 (fn=87023144, arg1=-9223372036742592512,
arg2=-6917529027615489184, arg3=35784) at eval.c:2621
#29 0x011b0900 in Ftest_completion (string=-9223372036742592512,
collection=87023144, predicate=-6917529027615489184) at minibuf.c:1762
#30 0x0122a29a in funcall_subr (subr=0x137df00 <Stest_completion>, numargs=3,
args=0x82c1e0) at eval.c:2823
#31 0x01229c9e in Ffuncall (nargs=4, args=0x82c1d8) at eval.c:2743
#32 0x0128cf6c in exec_byte_code (bytestr=-9223372036833667512,
vector=-6917529027619973544, maxdepth=4611686018427387914,
args_template=4611686018427388932, nargs=4, args=0x82c708)
at bytecode.c:641
#33 0x0122af15 in funcall_lambda (fun=-6917529027619973608, nargs=4,
arg_vector=0x82c6e8) at eval.c:2943
#34 0x01229ce2 in Ffuncall (nargs=5, args=0x82c6e0) at eval.c:2745
#35 0x0128cf6c in exec_byte_code (bytestr=-9223372036833667784,
vector=-6917529027619973816, maxdepth=4611686018427387919,
args_template=4611686018427388675, nargs=3, args=0x82cbd8)
at bytecode.c:641
#36 0x0122af15 in funcall_lambda (fun=-6917529027619973880, nargs=3,
arg_vector=0x82cbc0) at eval.c:2943
#37 0x01229ce2 in Ffuncall (nargs=4, args=0x82cbb8) at eval.c:2745
#38 0x0128cf6c in exec_byte_code (bytestr=-9223372036833667896,
vector=-6917529027619973928, maxdepth=4611686018427387908,
args_template=4611686018427387904, nargs=0, args=0x82d2b8)
at bytecode.c:641
#39 0x0122af15 in funcall_lambda (fun=-6917529027619974000, nargs=0,
arg_vector=0x82d2b8) at eval.c:2943
#40 0x01229ce2 in Ffuncall (nargs=1, args=0x82d2b0) at eval.c:2745
#41 0x0121bec6 in Ffuncall_interactively (nargs=1, args=0x82d2b0)
at callint.c:252
#42 0x0122a13c in funcall_subr (subr=0x167c3c0 <Sfuncall_interactively>,
numargs=1, args=0x82d2b0) at eval.c:2798
#43 0x01229c9e in Ffuncall (nargs=2, args=0x82d2a8) at eval.c:2743
#44 0x012285a1 in Fapply (nargs=3, args=0x82d2a8) at eval.c:2327
#45 0x0121c67c in Fcall_interactively (function=1411376, record_flag=0,
keys=-6917529027616290416) at callint.c:389
#46 0x0122a29a in funcall_subr (subr=0x167c3e0 <Scall_interactively>,
numargs=3, args=0x82d5a0) at eval.c:2823
#47 0x01229c9e in Ffuncall (nargs=4, args=0x82d598) at eval.c:2743
#48 0x0128cf6c in exec_byte_code (bytestr=-9223372036833619680,
vector=-6917529027619925712, maxdepth=4611686018427387917,
args_template=4611686018427388929, nargs=1, args=0x82dae0)
at bytecode.c:641
#49 0x0122af15 in funcall_lambda (fun=-6917529027619925776, nargs=1,
arg_vector=0x82dad8) at eval.c:2943
#50 0x01229ce2 in Ffuncall (nargs=2, args=0x82dad0) at eval.c:2745
#51 0x01229333 in call1 (fn=16240, arg1=1411376) at eval.c:2605
#52 0x01157899 in command_loop_1 () at keyboard.c:1484
#53 0x0122487b in internal_condition_case (bfun=0x1156e10 <command_loop_1>,
handlers=21840, hfun=0x115608c <cmd_error>) at eval.c:1324
#54 0x011568a6 in command_loop_2 (ignore=0) at keyboard.c:1112
#55 0x0122399b in internal_catch (tag=22680, func=0x115686a <command_loop_2>,
arg=0) at eval.c:1091
#56 0x0115678d in command_loop () at keyboard.c:1083
#57 0x01155ab8 in recursive_edit_1 () at keyboard.c:697
#58 0x011acbe1 in read_minibuf (map=-4611686018401819296, initial=0,
prompt=-9223372036743269616, expflag=false, histvar=40824,
histpos=4611686018427387904, defalt=0, allow_props=false,
inherit_input_method=false) at minibuf.c:683
#59 0x011adac5 in Fread_from_minibuffer (prompt=-9223372036743269616,
initial_contents=0, keymap=-4611686018401819296, sys_read=0, hist=0,
default_value=0, inherit_input_method=0) at minibuf.c:961
#60 0x0122a5a8 in funcall_subr (subr=0x137dde0 <Sread_from_minibuffer>,
numargs=7, args=0x82e1c0) at eval.c:2838
#61 0x01229c9e in Ffuncall (nargs=8, args=0x82e1b8) at eval.c:2743
#62 0x0128cf6c in exec_byte_code (bytestr=-9223372036833650152,
vector=-6917529027619956184, maxdepth=4611686018427387922,
args_template=4611686018427389954, nargs=8, args=0x82e730)
at bytecode.c:641
#63 0x0122af15 in funcall_lambda (fun=-6917529027619956248, nargs=8,
arg_vector=0x82e6f0) at eval.c:2943
#64 0x01229ce2 in Ffuncall (nargs=9, args=0x82e6e8) at eval.c:2745
#65 0x011b0226 in Fcompleting_read (prompt=-9223372036743269616,
collection=87023144, predicate=-6917529027615489184, require_match=56168,
initial_input=0, hist=0, def=0, inherit_input_method=0) at minibuf.c:1665
#66 0x0122a6cb in funcall_subr (subr=0x137dee0 <Scompleting_read>, numargs=7,
args=0x82e8c8) at eval.c:2843
#67 0x01229c9e in Ffuncall (nargs=8, args=0x82e8c0) at eval.c:2743
#68 0x0128cf6c in exec_byte_code (bytestr=-9223372036743269728,
vector=-6917529027611417552, maxdepth=4611686018427387914,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#69 0x0128c080 in Fbyte_code (bytestr=-9223372036743269728,
vector=-6917529027611417552, maxdepth=4611686018427387914)
at bytecode.c:321
#70 0x01227c78 in eval_sub (form=-4611686018317986448) at eval.c:2225
#71 0x01226ecd in Feval (form=-4611686018317986448, lexical=0) at eval.c:2041
#72 0x0121c3b4 in Fcall_interactively (function=1244168, record_flag=0,
keys=-6917529027616290416) at callint.c:357
#73 0x0122a29a in funcall_subr (subr=0x167c3e0 <Scall_interactively>,
numargs=3, args=0x82f220) at eval.c:2823
#74 0x01229c9e in Ffuncall (nargs=4, args=0x82f218) at eval.c:2743
#75 0x0128cf6c in exec_byte_code (bytestr=-9223372036833619680,
vector=-6917529027619925712, maxdepth=4611686018427387917,
args_template=4611686018427388929, nargs=1, args=0x82f760)
at bytecode.c:641
#76 0x0122af15 in funcall_lambda (fun=-6917529027619925776, nargs=1,
arg_vector=0x82f758) at eval.c:2943
#77 0x01229ce2 in Ffuncall (nargs=2, args=0x82f750) at eval.c:2745
#78 0x01229333 in call1 (fn=16240, arg1=1244168) at eval.c:2605
#79 0x01157899 in command_loop_1 () at keyboard.c:1484
#80 0x0122487b in internal_condition_case (bfun=0x1156e10 <command_loop_1>,
handlers=21840, hfun=0x115608c <cmd_error>) at eval.c:1324
#81 0x011568a6 in command_loop_2 (ignore=0) at keyboard.c:1112
#82 0x0122399b in internal_catch (tag=58520, func=0x115686a <command_loop_2>,
arg=0) at eval.c:1091
#83 0x01156825 in command_loop () at keyboard.c:1091
#84 0x01155ab8 in recursive_edit_1 () at keyboard.c:697
#85 0x01155d56 in Frecursive_edit () at keyboard.c:768
#86 0x011534ff in main (argc=2, argv=0xa428d8) at emacs.c:1687
Lisp Backtrace:
"message" (0x8293f0)
"mh-variant-set" (0x829910)
0x6bdc4f8 PVEC_COMPILED
"custom-initialize-reset" (0x82a250)
"custom-declare-variable" (0x82a7e0)
"byte-code" (0x82ac60)
"load" (0x82b588)
"help--load-prefixes" (0x82ba60)
"help--symbol-completion-table" (0x82bf48)
"test-completion" (0x82c1e0)
"completion--complete-and-exit" (0x82c6e8)
"completion-complete-and-exit" (0x82cbc0)
"minibuffer-complete-and-exit" (0x82d2b8)
"funcall-interactively" (0x82d2b0)
"call-interactively" (0x82d5a0)
"command-execute" (0x82dad8)
"read-from-minibuffer" (0x82e1c0)
"completing-read-default" (0x82e6f0)
"completing-read" (0x82e8c8)
"byte-code" (0x82ed70)
"call-interactively" (0x82f220)
"command-execute" (0x82f758)
And here's the backtrace from the call to call-process:
Thread 1 hit Breakpoint 3, Fcall_process (nargs=5, args=0x827508)
at callproc.c:248
248 ptrdiff_t count = SPECPDL_INDEX ();
(gdb) pp args[0]
"d:/gnu/git/emacs/trunk/lib-src/movemail.exe"
(gdb) pp args[1]
nil
(gdb) pp args[2]
#<buffer *temp*>
(gdb) pp args[3]
nil
(gdb) pp args[4]
"--version"
(gdb) bt
#0 Fcall_process (nargs=5, args=0x827508) at callproc.c:248
#1 0x0122a13c in funcall_subr (subr=0x167e9f0 <Scall_process>, numargs=5,
args=0x827508) at eval.c:2798
#2 0x01229c9e in Ffuncall (nargs=6, args=0x827500) at eval.c:2743
#3 0x0128cf6c in exec_byte_code (bytestr=-9223372036742095528,
vector=-6917529027611249000, maxdepth=4611686018427387913,
args_template=4611686018427388161, nargs=1, args=0x827a00)
at bytecode.c:641
#4 0x0122af15 in funcall_lambda (fun=-6917529027611245672, nargs=1,
arg_vector=0x8279f8) at eval.c:2943
#5 0x01229ce2 in Ffuncall (nargs=2, args=0x8279f0) at eval.c:2745
#6 0x0128cf6c in exec_byte_code (bytestr=-9223372036742095192,
vector=-6917529027611245624, maxdepth=4611686018427387911,
args_template=4611686018427387904, nargs=0, args=0x827ed8)
at bytecode.c:641
#7 0x0122af15 in funcall_lambda (fun=-6917529027611245488, nargs=0,
arg_vector=0x827ed8) at eval.c:2943
#8 0x01229ce2 in Ffuncall (nargs=1, args=0x827ed0) at eval.c:2745
#9 0x0128cf6c in exec_byte_code (bytestr=-9223372036742093752,
vector=-6917529027611096992, maxdepth=4611686018427387907,
args_template=4611686018427388032, nargs=0, args=0x828350)
at bytecode.c:641
#10 0x0122af15 in funcall_lambda (fun=-6917529027611245440, nargs=0,
arg_vector=0x828350) at eval.c:2943
#11 0x01229ce2 in Ffuncall (nargs=1, args=0x828348) at eval.c:2745
#12 0x0128cf6c in exec_byte_code (bytestr=-9223372036742093688,
vector=-6917529027611245392, maxdepth=4611686018427387914,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#13 0x0128c080 in Fbyte_code (bytestr=-9223372036742093688,
vector=-6917529027611245392, maxdepth=4611686018427387914)
at bytecode.c:321
#14 0x01227c78 in eval_sub (form=-4611686018315182304) at eval.c:2225
#15 0x0126cf92 in readevalloop (readcharfun=28280,
stream=0x77c5fd40 <msvcrt!_iob+192>, sourcename=-9223372036742210664,
printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#16 0x0126ab80 in Fload (file=-9223372036833785992, noerror=0,
nomessage=56168, nosuffix=0, must_suffix=56168) at lread.c:1332
#17 0x0123cac0 in Frequire (feature=1287888, filename=0, noerror=0)
at fns.c:2792
#18 0x0122a29a in funcall_subr (subr=0x167d440 <Srequire>, numargs=1,
args=0x829170) at eval.c:2823
#19 0x01229c9e in Ffuncall (nargs=2, args=0x829168) at eval.c:2743
#20 0x0128cf6c in exec_byte_code (bytestr=-9223372036742222968,
vector=-6917529027611092984, maxdepth=4611686018427387907,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#21 0x0128c080 in Fbyte_code (bytestr=-9223372036742222968,
vector=-6917529027611092984, maxdepth=4611686018427387907)
at bytecode.c:321
#22 0x01227c78 in eval_sub (form=-4611686018315233232) at eval.c:2225
#23 0x0126cf92 in readevalloop (readcharfun=28280,
stream=0x77c5fd20 <msvcrt!_iob+160>, sourcename=-9223372036742264688,
printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#24 0x0126ab80 in Fload (file=-9223372036745837232, noerror=0,
nomessage=56168, nosuffix=0, must_suffix=56168) at lread.c:1332
#25 0x0123cac0 in Frequire (feature=84539560, filename=0, noerror=0)
at fns.c:2792
#26 0x0122a29a in funcall_subr (subr=0x167d440 <Srequire>, numargs=1,
args=0x829f20) at eval.c:2823
#27 0x01229c9e in Ffuncall (nargs=2, args=0x829f18) at eval.c:2743
#28 0x0128cf6c in exec_byte_code (bytestr=-9223372036746226464,
vector=-6917529027611126184, maxdepth=4611686018427387912,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#29 0x0128c080 in Fbyte_code (bytestr=-9223372036746226464,
vector=-6917529027611126184, maxdepth=4611686018427387912)
at bytecode.c:321
#30 0x01227c78 in eval_sub (form=-4611686018315294448) at eval.c:2225
#31 0x0126cf92 in readevalloop (readcharfun=28280,
stream=0x77c5fd00 <msvcrt!_iob+128>, sourcename=-9223372036746226192,
printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#32 0x0126ab80 in Fload (file=-9223372036742888568, noerror=0,
nomessage=56168, nosuffix=0, must_suffix=56168) at lread.c:1332
#33 0x0123cac0 in Frequire (feature=84539392, filename=0, noerror=0)
at fns.c:2792
#34 0x01227c78 in eval_sub (form=-4611686018315293792) at eval.c:2225
#35 0x0126cf92 in readevalloop (readcharfun=28280,
stream=0x77c5fce0 <msvcrt!_iob+96>, sourcename=-9223372036742888392,
printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#36 0x0126ab80 in Fload (file=-9223372036833737736, noerror=691512,
nomessage=691568, nosuffix=0, must_suffix=0) at lread.c:1332
#37 0x0122a3ab in funcall_subr (subr=0x167dd10 <Sload>, numargs=3,
args=0x82b588) at eval.c:2830
#38 0x01229c9e in Ffuncall (nargs=4, args=0x82b580) at eval.c:2743
#39 0x0128cf6c in exec_byte_code (bytestr=-9223372036746181704,
vector=-6917529027612643480, maxdepth=4611686018427387917,
args_template=4611686018427388161, nargs=1, args=0x82ba68)
at bytecode.c:641
#40 0x0122af15 in funcall_lambda (fun=-6917529027611852432, nargs=1,
arg_vector=0x82ba60) at eval.c:2943
#41 0x01229ce2 in Ffuncall (nargs=2, args=0x82ba58) at eval.c:2745
#42 0x0128cf6c in exec_byte_code (bytestr=-9223372036746057320,
vector=-6917529027616260872, maxdepth=4611686018427387919,
args_template=4611686018427388675, nargs=3, args=0x82bf60)
at bytecode.c:641
#43 0x0122af15 in funcall_lambda (fun=-6917529027611848696, nargs=3,
arg_vector=0x82bf48) at eval.c:2943
#44 0x01229ce2 in Ffuncall (nargs=4, args=0x82bf40) at eval.c:2745
#45 0x01229411 in call3 (fn=4287051424, arg1=-9223372036823485048,
arg2=-6917529027611835976, arg3=35784) at eval.c:2621
#46 0x011b0900 in Ftest_completion (string=-9223372036823485048,
collection=4287051424, predicate=-6917529027611835976) at minibuf.c:1762
#47 0x0122a29a in funcall_subr (subr=0x137df00 <Stest_completion>, numargs=3,
args=0x82c1e0) at eval.c:2823
#48 0x01229c9e in Ffuncall (nargs=4, args=0x82c1d8) at eval.c:2743
#49 0x0128cf6c in exec_byte_code (bytestr=-9223372036833667512,
vector=-6917529027619973544, maxdepth=4611686018427387914,
args_template=4611686018427388932, nargs=4, args=0x82c708)
at bytecode.c:641
#50 0x0122af15 in funcall_lambda (fun=-6917529027619973608, nargs=4,
arg_vector=0x82c6e8) at eval.c:2943
#51 0x01229ce2 in Ffuncall (nargs=5, args=0x82c6e0) at eval.c:2745
#52 0x0128cf6c in exec_byte_code (bytestr=-9223372036833667784,
vector=-6917529027619973816, maxdepth=4611686018427387919,
args_template=4611686018427388675, nargs=3, args=0x82cbd8)
at bytecode.c:641
#53 0x0122af15 in funcall_lambda (fun=-6917529027619973880, nargs=3,
arg_vector=0x82cbc0) at eval.c:2943
#54 0x01229ce2 in Ffuncall (nargs=4, args=0x82cbb8) at eval.c:2745
#55 0x0128cf6c in exec_byte_code (bytestr=-9223372036833667896,
vector=-6917529027619973928, maxdepth=4611686018427387908,
args_template=4611686018427387904, nargs=0, args=0x82d2b8)
at bytecode.c:641
#56 0x0122af15 in funcall_lambda (fun=-6917529027619974000, nargs=0,
arg_vector=0x82d2b8) at eval.c:2943
#57 0x01229ce2 in Ffuncall (nargs=1, args=0x82d2b0) at eval.c:2745
#58 0x0121bec6 in Ffuncall_interactively (nargs=1, args=0x82d2b0)
at callint.c:252
#59 0x0122a13c in funcall_subr (subr=0x167c3c0 <Sfuncall_interactively>,
numargs=1, args=0x82d2b0) at eval.c:2798
#60 0x01229c9e in Ffuncall (nargs=2, args=0x82d2a8) at eval.c:2743
#61 0x012285a1 in Fapply (nargs=3, args=0x82d2a8) at eval.c:2327
#62 0x0121c67c in Fcall_interactively (function=1411376, record_flag=0,
keys=-6917529027616290416) at callint.c:389
#63 0x0122a29a in funcall_subr (subr=0x167c3e0 <Scall_interactively>,
numargs=3, args=0x82d5a0) at eval.c:2823
#64 0x01229c9e in Ffuncall (nargs=4, args=0x82d598) at eval.c:2743
#65 0x0128cf6c in exec_byte_code (bytestr=-9223372036833619680,
vector=-6917529027619925712, maxdepth=4611686018427387917,
args_template=4611686018427388929, nargs=1, args=0x82dae0)
at bytecode.c:641
#66 0x0122af15 in funcall_lambda (fun=-6917529027619925776, nargs=1,
arg_vector=0x82dad8) at eval.c:2943
#67 0x01229ce2 in Ffuncall (nargs=2, args=0x82dad0) at eval.c:2745
#68 0x01229333 in call1 (fn=16240, arg1=1411376) at eval.c:2605
#69 0x01157899 in command_loop_1 () at keyboard.c:1484
#70 0x0122487b in internal_condition_case (bfun=0x1156e10 <command_loop_1>,
handlers=21840, hfun=0x115608c <cmd_error>) at eval.c:1324
#71 0x011568a6 in command_loop_2 (ignore=0) at keyboard.c:1112
#72 0x0122399b in internal_catch (tag=22680, func=0x115686a <command_loop_2>,
arg=0) at eval.c:1091
#73 0x0115678d in command_loop () at keyboard.c:1083
#74 0x01155ab8 in recursive_edit_1 () at keyboard.c:697
#75 0x011acbe1 in read_minibuf (map=-4611686018401819296, initial=0,
prompt=-9223372036838313256, expflag=false, histvar=40824,
histpos=4611686018427387904, defalt=0, allow_props=false,
inherit_input_method=false) at minibuf.c:683
#76 0x011adac5 in Fread_from_minibuffer (prompt=-9223372036838313256,
initial_contents=0, keymap=-4611686018401819296, sys_read=0, hist=0,
default_value=0, inherit_input_method=0) at minibuf.c:961
#77 0x0122a5a8 in funcall_subr (subr=0x137dde0 <Sread_from_minibuffer>,
numargs=7, args=0x82e1c0) at eval.c:2838
#78 0x01229c9e in Ffuncall (nargs=8, args=0x82e1b8) at eval.c:2743
#79 0x0128cf6c in exec_byte_code (bytestr=-9223372036833650152,
vector=-6917529027619956184, maxdepth=4611686018427387922,
args_template=4611686018427389954, nargs=8, args=0x82e730)
at bytecode.c:641
#80 0x0122af15 in funcall_lambda (fun=-6917529027619956248, nargs=8,
arg_vector=0x82e6f0) at eval.c:2943
#81 0x01229ce2 in Ffuncall (nargs=9, args=0x82e6e8) at eval.c:2745
#82 0x011b0226 in Fcompleting_read (prompt=-9223372036838313256,
collection=4287051424, predicate=-6917529027611835976,
require_match=56168, initial_input=0, hist=0, def=0,
inherit_input_method=0) at minibuf.c:1665
#83 0x0122a6cb in funcall_subr (subr=0x137dee0 <Scompleting_read>, numargs=7,
args=0x82e8c8) at eval.c:2843
#84 0x01229c9e in Ffuncall (nargs=8, args=0x82e8c0) at eval.c:2743
#85 0x0128cf6c in exec_byte_code (bytestr=-9223372036838312776,
vector=-6917529027616195816, maxdepth=4611686018427387914,
args_template=0, nargs=0, args=0x0) at bytecode.c:641
#86 0x0128c080 in Fbyte_code (bytestr=-9223372036838312776,
vector=-6917529027616195816, maxdepth=4611686018427387914)
at bytecode.c:321
#87 0x01227c78 in eval_sub (form=-4611686018401786000) at eval.c:2225
#88 0x01226ecd in Feval (form=-4611686018401786000, lexical=0) at eval.c:2041
#89 0x0121c3b4 in Fcall_interactively (function=1244168, record_flag=0,
keys=-6917529027616290416) at callint.c:357
#90 0x0122a29a in funcall_subr (subr=0x167c3e0 <Scall_interactively>,
numargs=3, args=0x82f220) at eval.c:2823
#91 0x01229c9e in Ffuncall (nargs=4, args=0x82f218) at eval.c:2743
#92 0x0128cf6c in exec_byte_code (bytestr=-9223372036833619680,
vector=-6917529027619925712, maxdepth=4611686018427387917,
args_template=4611686018427388929, nargs=1, args=0x82f760)
at bytecode.c:641
#93 0x0122af15 in funcall_lambda (fun=-6917529027619925776, nargs=1,
arg_vector=0x82f758) at eval.c:2943
#94 0x01229ce2 in Ffuncall (nargs=2, args=0x82f750) at eval.c:2745
#95 0x01229333 in call1 (fn=16240, arg1=1244168) at eval.c:2605
#96 0x01157899 in command_loop_1 () at keyboard.c:1484
#97 0x0122487b in internal_condition_case (bfun=0x1156e10 <command_loop_1>,
handlers=21840, hfun=0x115608c <cmd_error>) at eval.c:1324
#98 0x011568a6 in command_loop_2 (ignore=0) at keyboard.c:1112
#99 0x0122399b in internal_catch (tag=58520, func=0x115686a <command_loop_2>,
arg=0) at eval.c:1091
#100 0x01156825 in command_loop () at keyboard.c:1091
#101 0x01155ab8 in recursive_edit_1 () at keyboard.c:697
#102 0x01155d56 in Frecursive_edit () at keyboard.c:768
#103 0x011534ff in main (argc=2, argv=0xa428d8) at emacs.c:1687
Lisp Backtrace:
"call-process" (0x827508)
"rmail-probe" (0x8279f8)
"rmail-autodetect" (0x827ed8)
"rmail-movemail-variant-p" (0x828350)
"byte-code" (0x8287f0)
"require" (0x829170)
"byte-code" (0x8295a0)
"require" (0x829f20)
"byte-code" (0x82a3d0)
"require" (0x82ac60)
"load" (0x82b588)
"help--load-prefixes" (0x82ba60)
"help--symbol-completion-table" (0x82bf48)
"test-completion" (0x82c1e0)
"completion--complete-and-exit" (0x82c6e8)
"completion-complete-and-exit" (0x82cbc0)
"minibuffer-complete-and-exit" (0x82d2b8)
"funcall-interactively" (0x82d2b0)
"call-interactively" (0x82d5a0)
"command-execute" (0x82dad8)
"read-from-minibuffer" (0x82e1c0)
"completing-read-default" (0x82e6f0)
"completing-read" (0x82e8c8)
"byte-code" (0x82ed70)
"call-interactively" (0x82f220)
"command-execute" (0x82f758)
In GNU Emacs 26.0.50 (build 395, i686-pc-mingw32)
of 2017-04-09 built on HOME-C4E4A596F7
Repository revision: 43bc45ba1697b60c4589cb0c8e30cf1618275582
Windowing system distributor 'Microsoft Corp.', version 5.1.2600
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
No MH variant found on the system
Type C-x 1 to delete the help window.
Configured using:
'configure --prefix=/d/usr --enable-checking=yes,glyphs --with-wide-int
--with-modules 'CFLAGS=-O0 -gdwarf-4 -g3''
Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS MODULES
Important settings:
value of $LANG: ENU
locale-coding-system: cp1255
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message puny dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 gmm-utils mailheader
sendmail mh-e mh-compat mailabbrev mh-acros cl-macs cl mh-buffers
mh-loaddefs mode-local find-func seq byte-opt gv bytecomp byte-compile
cl-extra cconv nnoo nnheader subr-x gnus-util rmail rmail-loaddefs
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils thingatpt
help-fns radix-tree help-mode easymenu cl-loaddefs pcase cl-lib
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win
w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript case-table epa-hook jka-cmpr-hook help
simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button
faces cus-face macroexp files text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote w32notify w32 multi-tty make-network-process emacs)
Memory information:
((conses 16 122643 8391)
(symbols 56 22578 1)
(miscs 48 38 109)
(strings 16 27259 5438)
(string-bytes 1 825367)
(vectors 16 15769)
(vector-slots 8 489174 2907)
(floats 8 53 251)
(intervals 40 292 109)
(buffers 864 13))
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff
2017-04-09 9:33 bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff Eli Zaretskii
@ 2017-04-09 11:56 ` npostavs
2017-04-09 12:37 ` Eli Zaretskii
2017-04-10 13:24 ` npostavs
0 siblings, 2 replies; 8+ messages in thread
From: npostavs @ 2017-04-09 11:56 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 26412
Eli Zaretskii <eliz@gnu.org> writes:
> It seems minibuffer completion, via its subroutine
> help--load-prefixes, is too eager to probe unrelated stuff, for some
> reason.
Similar report for C-h v at
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25552.
> Recompiling all the *.el files doesn't help.
> Why would minibuffer completion of a symbol want to know whether I
> have MH installed??
>
> As another example, why would the same "C-h f" command need to know
> what kind of movemail program I have?
The mh-e files have some strange compile vs runtime setup. Several are
marked with no-byte-compile, and they make some checks for installed MH
program inside macros. So you get these "NO MH variant" messages every
time the file is loaded, no matter what.
Below is a backtrace from doing
emacs -Q -l help-fns.el -l minibuffer.el --eval '(progn (setq print-circle t print-gensym t) (debug-on-load (quote load)))'
then C-h f default-font-height RET
The essential problem seems to be that
(radix-tree-prefixes (help-definition-prefixes) "default-font-height")
;=> (("def" "nnoo" "mode-local" "mh-e" "mh-acros" "cl"))
Actually, (radix-tree-prefixes (help-definition-prefixes) "default")
produces the same as result, and C-h f default SPC triggers this as
well. I can't find any definitions starting with "default" in
lisp/mh-e/*.el though.
Debugger entered--entering a function:
* load("nnoo" noerror nomessage)
(if (help--loaded-p file) nil (load file (quote noerror) (quote nomessage)))
(let ((file (car --dolist-tail--))) (if (help--loaded-p file) nil (load file (quote noerror) (quote nomessage))) (setq --dolist-tail-- (cdr --dolist-tail--)))
(while --dolist-tail-- (let ((file (car --dolist-tail--))) (if (help--loaded-p file) nil (load file (quote noerror) (quote nomessage))) (setq --dolist-tail-- (cdr --dolist-tail--))))
(let ((--dolist-tail-- files)) (while --dolist-tail-- (let ((file (car --dolist-tail--))) (if (help--loaded-p file) nil (load file (quote noerror) (quote nomessage))) (setq --dolist-tail-- (cdr --dolist-tail--)))))
(progn (setq help-definition-prefixes (radix-tree-insert help-definition-prefixes prefix nil)) (let ((--dolist-tail-- files)) (while --dolist-tail-- (let ((file (car --dolist-tail--))) (if (help--loaded-p file) nil (load file (quote noerror) (quote nomessage))) (setq --dolist-tail-- (cdr --dolist-tail--))))))
(let ((files #:x) (prefix #:x)) (progn (setq help-definition-prefixes (radix-tree-insert help-definition-prefixes prefix nil)) (let ((--dolist-tail-- files)) (while --dolist-tail-- (let ((file (car --dolist-tail--))) (if (help--loaded-p file) nil (load file (quote noerror) (quote nomessage))) (setq --dolist-tail-- (cdr --dolist-tail--)))))))
(let* ((#3=#:x (car #1=#:x)) (#2=#:x (cdr #1#))) (let ((files #2#) (prefix #3#)) (progn (setq help-definition-prefixes (radix-tree-insert help-definition-prefixes prefix nil)) (let ((--dolist-tail-- files)) (while --dolist-tail-- (let ((file ...)) (if (help--loaded-p file) nil (load file ... ...)) (setq --dolist-tail-- (cdr --dolist-tail--))))))))
(let ((#1=#:x (car --dolist-tail--))) (let* ((#3=#:x (car #1#)) (#2=#:x (cdr #1#))) (let ((files #2#) (prefix #3#)) (progn (setq help-definition-prefixes (radix-tree-insert help-definition-prefixes prefix nil)) (let ((--dolist-tail-- files)) (while --dolist-tail-- (let (...) (if ... nil ...) (setq --dolist-tail-- ...))))))) (setq --dolist-tail-- (cdr --dolist-tail--)))
(while --dolist-tail-- (let ((#1=#:x (car --dolist-tail--))) (let* ((#3=#:x (car #1#)) (#2=#:x (cdr #1#))) (let ((files #2#) (prefix #3#)) (progn (setq help-definition-prefixes (radix-tree-insert help-definition-prefixes prefix nil)) (let ((--dolist-tail-- files)) (while --dolist-tail-- (let ... ... ...)))))) (setq --dolist-tail-- (cdr --dolist-tail--))))
(let ((--dolist-tail-- prefixes)) (while --dolist-tail-- (let ((#1=#:x (car --dolist-tail--))) (let* ((#3=#:x (car #1#)) (#2=#:x (cdr #1#))) (let ((files #2#) (prefix #3#)) (progn (setq help-definition-prefixes (radix-tree-insert help-definition-prefixes prefix nil)) (let (...) (while --dolist-tail-- ...))))) (setq --dolist-tail-- (cdr --dolist-tail--)))))
help--load-prefixes((("def" "nnoo" "mode-local" "mh-e" "mh-acros" "cl")))
(let ((prefixes (radix-tree-prefixes (help-definition-prefixes) string))) (help--load-prefixes prefixes))
help--symbol-completion-table("default-font-height" (closure ((fn) t) (f) (or (fboundp f) (get f (quote function-documentation)))) lambda)
test-completion("default-font-height" help--symbol-completion-table (closure ((fn) t) (f) (or (fboundp f) (get f (quote function-documentation)))))
(cond ((= beg end) (funcall exit-function)) ((test-completion (buffer-substring beg end) minibuffer-completion-table minibuffer-completion-predicate) (if completion-ignore-case (progn (let* ((string (buffer-substring beg end)) (compl (try-completion string minibuffer-completion-table minibuffer-completion-predicate))) (if (and (stringp compl) (not ...) (= ... ...)) (progn (completion--replace beg end compl)))))) (funcall exit-function)) ((memq minibuffer-completion-confirm (quote (confirm confirm-after-completion))) (if (or (eq last-command this-command) (and (eq minibuffer-completion-confirm (quote confirm-after-completion)) (not (memq last-command minibuffer-confirm-exit-commands)))) (funcall exit-function) (minibuffer-message "Confirm") nil)) (t (funcall completion-function)))
completion--complete-and-exit(20 39 exit-minibuffer (closure ((exit-function . exit-minibuffer) (end . 39) (beg . 20) t) nil (let* ((#1=#:val (condition-case nil (completion--do-completion beg end nil (quote expect-exact)) (error 1)))) (cond ((memq #1# (quote (3 1))) (funcall exit-function)) ((eq #1# 7) (if (not minibuffer-completion-confirm) (funcall exit-function) (minibuffer-message "Confirm") nil)) (t nil)))))
completion-complete-and-exit(20 39 exit-minibuffer)
minibuffer-complete-and-exit()
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff
2017-04-09 11:56 ` npostavs
@ 2017-04-09 12:37 ` Eli Zaretskii
2017-04-10 13:24 ` npostavs
1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2017-04-09 12:37 UTC (permalink / raw)
To: npostavs; +Cc: 26412
> From: npostavs@users.sourceforge.net
> Cc: 26412@debbugs.gnu.org
> Date: Sun, 09 Apr 2017 07:56:47 -0400
>
> The essential problem seems to be that
>
> (radix-tree-prefixes (help-definition-prefixes) "default-font-height")
> ;=> (("def" "nnoo" "mode-local" "mh-e" "mh-acros" "cl"))
>
> Actually, (radix-tree-prefixes (help-definition-prefixes) "default")
> produces the same as result, and C-h f default SPC triggers this as
> well. I can't find any definitions starting with "default" in
> lisp/mh-e/*.el though.
Indeed, strange.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff
2017-04-09 11:56 ` npostavs
2017-04-09 12:37 ` Eli Zaretskii
@ 2017-04-10 13:24 ` npostavs
2017-04-10 13:33 ` Eli Zaretskii
1 sibling, 1 reply; 8+ messages in thread
From: npostavs @ 2017-04-10 13:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 26412
npostavs@users.sourceforge.net writes:
> The essential problem seems to be that
>
> (radix-tree-prefixes (help-definition-prefixes) "default-font-height")
> ;=> (("def" "nnoo" "mode-local" "mh-e" "mh-acros" "cl"))
>
> Actually, (radix-tree-prefixes (help-definition-prefixes) "default")
> produces the same as result, and C-h f default SPC triggers this as
> well. I can't find any definitions starting with "default" in
> lisp/mh-e/*.el though.
Oh, it's "def" not "default", loaddefs.el has
;;;### (autoloads nil "mh-acros" "mh-e/mh-acros.el" (0 0 0 0))
;;; Generated autoloads from mh-e/mh-acros.el
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "mh-acros" '("mh-" "with-mh-folder-updating" "def")))
^^^^^
Which comes from these macros in lisp/mh/mh-acros.el:
(defmacro defun-mh (name function arg-list &rest body)
(defmacro defmacro-mh (name macro arg-list &rest body)
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff
2017-04-10 13:24 ` npostavs
@ 2017-04-10 13:33 ` Eli Zaretskii
2017-04-11 14:13 ` npostavs
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2017-04-10 13:33 UTC (permalink / raw)
To: npostavs; +Cc: 26412
> From: npostavs@users.sourceforge.net
> Cc: 26412@debbugs.gnu.org
> Date: Mon, 10 Apr 2017 09:24:05 -0400
>
> Oh, it's "def" not "default", loaddefs.el has
>
> ;;;### (autoloads nil "mh-acros" "mh-e/mh-acros.el" (0 0 0 0))
> ;;; Generated autoloads from mh-e/mh-acros.el
>
> (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "mh-acros" '("mh-" "with-mh-folder-updating" "def")))
> ^^^^^
> Which comes from these macros in lisp/mh/mh-acros.el:
>
> (defmacro defun-mh (name function arg-list &rest body)
>
> (defmacro defmacro-mh (name macro arg-list &rest body)
Can we modify autoloads such that "def" is not collected here? It
could collect defun-mh and defmacro-mh instead, couldn't it?
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff
2017-04-10 13:33 ` Eli Zaretskii
@ 2017-04-11 14:13 ` npostavs
2017-04-11 15:36 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: npostavs @ 2017-04-11 14:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 26412
Eli Zaretskii <eliz@gnu.org> writes:
>> Which comes from these macros in lisp/mh/mh-acros.el:
>>
>> (defmacro defun-mh (name function arg-list &rest body)
>>
>> (defmacro defmacro-mh (name macro arg-list &rest body)
>
> Can we modify autoloads such that "def" is not collected here? It
> could collect defun-mh and defmacro-mh instead, couldn't it?
This seems to work.
--- i/lisp/emacs-lisp/autoload.el
+++ w/lisp/emacs-lisp/autoload.el
@@ -546,9 +546,10 @@ autoload--make-defs-autoload
;; "cc-helper" and "c-mode", you'll get "c" in the root prefixes.
(dolist (pair (prog1 prefixes (setq prefixes nil)))
(let ((s (car pair)))
- (if (or (> (length s) 2) ;Long enough!
- (string-match ".[[:punct:]]\\'" s) ;A real (tho short) prefix?
- (radix-tree-lookup (cdr pair) "")) ;Nothing to expand!
+ (if (and (not (string= "def" s)) ; Don't use "def" in deffoo-pkg-thing.
+ (or (> (length s) 2) ;Long enough!
+ (string-match ".[[:punct:]]\\'" s) ;A real (tho short) prefix?
+ (radix-tree-lookup (cdr pair) ""))) ;Nothing to expand!
(push pair prefixes) ;Keep it as is.
(radix-tree-iter-subtrees
(cdr pair) (lambda (prefix subtree)
Here is the resulting diff for loaddefs:
--- loaddefs.el 2017-04-10 13:26:10.404737000 -0400
+++ loaddefs-nodef.el 2017-04-10 13:24:32.000000000 -0400
@@ -4732,7 +4732,7 @@
;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (0 0 0 0))
;;; Generated autoloads from emacs-lisp/cl.el
-(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "cl" '("cl-" "def" "lexical-let" "labels" "flet")))
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "cl" '("cl-" "defsetf" "define-" "lexical-let" "labels" "flet")))
;;;***
@@ -20261,7 +20261,7 @@
;;;### (autoloads nil "mh-acros" "mh-e/mh-acros.el" (0 0 0 0))
;;; Generated autoloads from mh-e/mh-acros.el
-(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "mh-acros" '("mh-" "with-mh-folder-updating" "def")))
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "mh-acros" '("mh-" "with-mh-folder-updating" "defun-mh" "defmacro-mh")))
;;;***
@@ -20393,7 +20393,7 @@
\(fn)" t nil)
-(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "mh-e" '("mh-" "def")))
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "mh-e" '("mh-" "defgroup-mh" "defcustom-mh" "defface-mh")))
;;;***
@@ -22035,7 +22035,7 @@
;;;### (autoloads nil "nnoo" "gnus/nnoo.el" (0 0 0 0))
;;; Generated autoloads from gnus/nnoo.el
-(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "nnoo" '("nnoo-" "def")))
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "nnoo" '("nnoo-" "defvoo" "deffoo")))
;;;***
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff
2017-04-11 14:13 ` npostavs
@ 2017-04-11 15:36 ` Eli Zaretskii
2017-04-20 3:13 ` npostavs
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2017-04-11 15:36 UTC (permalink / raw)
To: npostavs; +Cc: 26412
> From: npostavs@users.sourceforge.net
> Cc: 26412@debbugs.gnu.org
> Date: Tue, 11 Apr 2017 10:13:34 -0400
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Which comes from these macros in lisp/mh/mh-acros.el:
> >>
> >> (defmacro defun-mh (name function arg-list &rest body)
> >>
> >> (defmacro defmacro-mh (name macro arg-list &rest body)
> >
> > Can we modify autoloads such that "def" is not collected here? It
> > could collect defun-mh and defmacro-mh instead, couldn't it?
>
> This seems to work.
>
> --- i/lisp/emacs-lisp/autoload.el
> +++ w/lisp/emacs-lisp/autoload.el
> @@ -546,9 +546,10 @@ autoload--make-defs-autoload
> ;; "cc-helper" and "c-mode", you'll get "c" in the root prefixes.
> (dolist (pair (prog1 prefixes (setq prefixes nil)))
> (let ((s (car pair)))
> - (if (or (> (length s) 2) ;Long enough!
> - (string-match ".[[:punct:]]\\'" s) ;A real (tho short) prefix?
> - (radix-tree-lookup (cdr pair) "")) ;Nothing to expand!
> + (if (and (not (string= "def" s)) ; Don't use "def" in deffoo-pkg-thing.
> + (or (> (length s) 2) ;Long enough!
> + (string-match ".[[:punct:]]\\'" s) ;A real (tho short) prefix?
> + (radix-tree-lookup (cdr pair) ""))) ;Nothing to expand!
> (push pair prefixes) ;Keep it as is.
> (radix-tree-iter-subtrees
> (cdr pair) (lambda (prefix subtree)
>
> Here is the resulting diff for loaddefs:
LGTM, let's wait for a few days for comments, and please push if
nothing comes up.
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff
2017-04-11 15:36 ` Eli Zaretskii
@ 2017-04-20 3:13 ` npostavs
0 siblings, 0 replies; 8+ messages in thread
From: npostavs @ 2017-04-20 3:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 26412
Eli Zaretskii <eliz@gnu.org> writes:
> LGTM, let's wait for a few days for comments, and please push if
> nothing comes up.
Pushed to master [1: 4364a769b4].
1: 2017-04-19 23:11:44 -0400 4364a769b489c044c4e9eeac6cfbabcc844ab332
Don't register "def" as an autoload prefix (Bug#26412)
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-04-20 3:13 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-09 9:33 bug#26412: 26.0.50; Minibuffer completion for "C-h f" probes unrelated stuff Eli Zaretskii
2017-04-09 11:56 ` npostavs
2017-04-09 12:37 ` Eli Zaretskii
2017-04-10 13:24 ` npostavs
2017-04-10 13:33 ` Eli Zaretskii
2017-04-11 14:13 ` npostavs
2017-04-11 15:36 ` Eli Zaretskii
2017-04-20 3:13 ` npostavs
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).