* bug#19923: 24.4: diredp-do-bookmark fails: claims "Wrong number of arguments"
@ 2015-02-22 18:05 Boruch Baum
2015-02-22 19:29 ` Drew Adams
2015-02-22 20:33 ` Drew Adams
0 siblings, 2 replies; 3+ messages in thread
From: Boruch Baum @ 2015-02-22 18:05 UTC (permalink / raw)
To: 19923
[-- Attachment #1: Type: text/plain, Size: 9129 bytes --]
When performing M-x diredp-do-bookmark on a selected file from a dired
buffer, (keybinding M-b) the minibuffer correctly prompts, "Bookmark
<filename>? (y or n). However, when answering `y', it responds:
Failed to create bookmark for `<filename>':
Wrong number of arguments: #[(name alist no-overwrite) "\306
\210\307^H!^Y\310\311 G\312 $\210\204#^@\313
\314\"\203#^@\313 !^K\241\210\202)^@ ^KB^LB^T
^U^N^PT^V^P\315 \2038^@\316 \210 ^U\317 )\207" [name
stripped-name no-overwrite alist bookmark-alist
bookmark-current-bookmark bookmark-maybe-load-default-file copy-sequence
set-text-properties 0 nil bookmark-get-bookmark noerror
bookmark-time-to-save-p bookmark-save
bookmark-bmenu-surreptitiously-rebuild-list
bookmark-alist-modification-count] 5
("/usr/share/emacs/24.4/lisp/bookmark.elc" . 16242)], 4
This reproduces consistently. The files tested had `simple' filenames
(only [a-zA-Z] characters, no whitespace in filenames) in my home directory.
The source of the error seems to be in function `diredp-bookmark' in
file dired+.el. There (my line #6102), a call to function
`bookkmark-store' includes an extra parameter no-msg-p. When I removed
that parameter, the function did work.
A secondary problem may be why function `diredp-bookmark' has parameter
no-msg-p in the first place.
A second secondary problem may be why the funky error message.
A third secondary problem may be that `diredp-do-bookmark' doesn't
prompt the user for a bookmark, and just assumes that the user wants the
bookmark-name to be the filename. Personally, my preference / vote would
be to have a user prompt, with the minibuffer pre-filled with the filename.
A final issue is that the function includes a comment, "NEED to keep
this code sync'd with `bmkp-make-record-for-target-file'.", but I can't
find such a function.
In GNU Emacs 24.4.1 (x86_64-pc-linux-gnu)
of 2014-12-09 on gaia, modified by Debian
System Description: Debian 7.0 GNU/Linux wheezy/testing
Configured using:
`configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/s\
ite-lisp
--build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib
--infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/s\
ite-lisp
--with-x=no --without-gconf --without-gsettings 'CFLAGS=-g -O2
-fstack-protector-strong -Wformat -Werror=format-security -Wall'
CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-z,relro'
Important settings:
value of $LANG: en_US.utf8
locale-coding-system: utf-8-unix
Major mode: IBuffer
Minor modes in effect:
highlight-current-line-minor-mode: t
desktop-save-mode: t
savehist-mode: t
winner-mode: t
global-hi-lock-mode: t
hi-lock-mode: t
delete-selection-mode: t
shell-dirtrack-mode: t
tooltip-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
size-indication-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Load-path shadows:
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-favicon hides
/usr/share/emacs24/site-lisp/w3m/w3m-favicon
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-symbol hides
/usr/share/emacs24/site-lisp/w3m/w3m-symbol
home/boruch.emacs.d/elpa/w3m-20140107.1708/bookmark-w3m hides
/usr/share/emacs24/site-lisp/w3m/bookmark-w3m
home/boruch.emacs.d/elpa/w3m-20140107.1708/mime-w3m hides
/usr/share/emacs24/site-lisp/w3m/mime-w3m
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-filter hides
/usr/share/emacs24/site-lisp/w3m/w3m-filter
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-ccl hides
/usr/share/emacs24/site-lisp/w3m/w3m-ccl
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-namazu hides
/usr/share/emacs24/site-lisp/w3m/w3m-namazu
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-ems hides
/usr/share/emacs24/site-lisp/w3m/w3m-ems
home/boruch.emacs.d/elpa/w3m-20140107.1708/octet hides
/usr/share/emacs24/site-lisp/w3m/octet
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-bookmark hides
/usr/share/emacs24/site-lisp/w3m/w3m-bookmark
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-perldoc hides
/usr/share/emacs24/site-lisp/w3m/w3m-perldoc
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-dtree hides
/usr/share/emacs24/site-lisp/w3m/w3m-dtree
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-session hides
/usr/share/emacs24/site-lisp/w3m/w3m-session
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-mail hides
/usr/share/emacs24/site-lisp/w3m/w3m-mail
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-search hides
/usr/share/emacs24/site-lisp/w3m/w3m-search
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3mhack hides
/usr/share/emacs24/site-lisp/w3m/w3mhack
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-proc hides
/usr/share/emacs24/site-lisp/w3m/w3m-proc
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-tabmenu hides
/usr/share/emacs24/site-lisp/w3m/w3m-tabmenu
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-rss hides
/usr/share/emacs24/site-lisp/w3m/w3m-rss
home/boruch.emacs.d/elpa/w3m-20140107.1708/mew-w3m hides
/usr/share/emacs24/site-lisp/w3m/mew-w3m
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m hides
/usr/share/emacs24/site-lisp/w3m/w3m
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m hides
/usr/share/emacs24/site-lisp/w3m/w3m
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-image hides
/usr/share/emacs24/site-lisp/w3m/w3m-image
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-hist hides
/usr/share/emacs24/site-lisp/w3m/w3m-hist
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-lnum hides
/usr/share/emacs24/site-lisp/w3m/w3m-lnum
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-form hides
/usr/share/emacs24/site-lisp/w3m/w3m-form
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-cookie hides
/usr/share/emacs24/site-lisp/w3m/w3m-cookie
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-weather hides
/usr/share/emacs24/site-lisp/w3m/w3m-weather
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-bug hides
/usr/share/emacs24/site-lisp/w3m/w3m-bug
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-fb hides
/usr/share/emacs24/site-lisp/w3m/w3m-fb
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-antenna hides
/usr/share/emacs24/site-lisp/w3m/w3m-antenna
home/boruch.emacs.d/elpa/w3m-20140107.1708/w3m-util hides
/usr/share/emacs24/site-lisp/w3m/w3m-util
home/boruch.emacs.d/elpa/csv-mode-1.2/csv-mode hides
/usr/share/emacs24/site-lisp/emacs-goodies-el/csv-mode
/usr/share/emacs/24.4/site-lisp/cdargs hides
/usr/share/emacs/site-lisp/cdargs
/usr/share/emacs/24.4/site-lisp/debian-startup hides
/usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs24/site-lisp/flim/md4 hides /usr/share/emacs/24.4/lisp/md4
/usr/share/emacs24/site-lisp/flim/hex-util hides
/usr/share/emacs/24.4/lisp/hex-util
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides
/usr/share/emacs/24.4/lisp/textmodes/flyspell
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides
/usr/share/emacs/24.4/lisp/textmodes/ispell
/usr/share/emacs/site-lisp/rst hides
/usr/share/emacs/24.4/lisp/textmodes/rst
/usr/share/emacs24/site-lisp/flim/sasl-ntlm hides
/usr/share/emacs/24.4/lisp/net/sasl-ntlm
/usr/share/emacs24/site-lisp/flim/hmac-def hides
/usr/share/emacs/24.4/lisp/net/hmac-def
/usr/share/emacs24/site-lisp/flim/hmac-md5 hides
/usr/share/emacs/24.4/lisp/net/hmac-md5
/usr/share/emacs24/site-lisp/flim/sasl-cram hides
/usr/share/emacs/24.4/lisp/net/sasl-cram
/usr/share/emacs24/site-lisp/flim/ntlm hides
/usr/share/emacs/24.4/lisp/net/ntlm
/usr/share/emacs24/site-lisp/flim/sasl hides
/usr/share/emacs/24.4/lisp/net/sasl
/usr/share/emacs24/site-lisp/flim/sasl-digest hides
/usr/share/emacs/24.4/lisp/net/sasl-digest
/usr/share/emacs/24.4/lisp/emacs-lisp/ert-x hides
/usr/share/emacs/24.4/site-lisp/slime/lib/ert-x
/usr/share/emacs/24.4/lisp/emacs-lisp/cl-lib hides
/usr/share/emacs/24.4/site-lisp/slime/lib/cl-lib
/usr/share/emacs/24.4/lisp/emacs-lisp/ert hides
/usr/share/emacs/24.4/site-lisp/slime/lib/ert
Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mailabbrev ...)
Memory information:
((conses 16 459100 69911)
(symbols 48 42873 0)
(miscs 40 2286 3515)
(strings 32 125530 18155)
(string-bytes 1 3397524)
(vectors 16 43381)
(vector-slots 8 1545011 166125)
(floats 8 374 644)
(intervals 56 10688 1329)
(buffers 960 72)
(heap 1024 42235 1854))
--
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1 7286 0036 9E45 1595 8BC0
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#19923: 24.4: diredp-do-bookmark fails: claims "Wrong number of arguments"
2015-02-22 18:05 bug#19923: 24.4: diredp-do-bookmark fails: claims "Wrong number of arguments" Boruch Baum
@ 2015-02-22 19:29 ` Drew Adams
2015-02-22 20:33 ` Drew Adams
1 sibling, 0 replies; 3+ messages in thread
From: Drew Adams @ 2015-02-22 19:29 UTC (permalink / raw)
To: Boruch Baum, 19923
Functions `diredp-*' are dired+.el functions.
I will close this Emacs bug and follow up with the OP for the Dired+ issue.
> When performing M-x diredp-do-bookmark on a selected file from a dired
> buffer, (keybinding M-b) the minibuffer correctly prompts, "Bookmark
> <filename>? (y or n). However, when answering `y', it responds:
>
> Failed to create bookmark for `<filename>':
> Wrong number of arguments: ...
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#19923: 24.4: diredp-do-bookmark fails: claims "Wrong number of arguments"
2015-02-22 18:05 bug#19923: 24.4: diredp-do-bookmark fails: claims "Wrong number of arguments" Boruch Baum
2015-02-22 19:29 ` Drew Adams
@ 2015-02-22 20:33 ` Drew Adams
1 sibling, 0 replies; 3+ messages in thread
From: Drew Adams @ 2015-02-22 20:33 UTC (permalink / raw)
To: Boruch Baum, 19923
Boruch,
Should be OK now. Please download the latest dired+.el from
Emacs Wiki, or wait up to a day for it to be mirrored on MELPA.
http://www.emacswiki.org/emacs/download/dired%2b.el.
Thanks for the bug report.
In answer to your questions:
1. Why function `diredp-bookmark' has parameter NO-MSG-P?
Non-nil is passed for that arg when called from `diredp-do-bookmark'
and `diredp-do-bookmark-recursive', which create multiple bookmarks.
This is to prevent umpteen progress messages.
2. Why the funky error message?
Dunno why the file name was shown as `<filename>', unless somehow
`dired-get-file-for-visit' returned that. The rest of the error
message is from `error-message-string', from the error that was
raised. Why that looks like byte-code, I don't know. That part
looks like an Emacs bug, to me. And the error is raised by the
vanilla `bookmark-store' code in bookmark.el.
3. Why doesn't `diredp-do-bookmark' prompt the user for a bookmark,
and just assumes that the user wants the bookmark name to be the
filename?
That's the feature. ;-) `diredp-do-bookmark' etc. are really aimed
at quickly creating multiple bookmarks without naming them, in which
case you (I, at least)) would not want to have to provide a bookmark
name for each file.
In addition, these commands are most useful in conjunction with
library Bookmark+, in which case the aim is precisely to have
(so-called "autofile") bookmarks whose names are the (non-directory)
file names, so they can be manipulated using file commands etc.
It might be possible to have these commands prompt for the bookmark
name in the case where they act on only one bookmark, but I'm not
in favor of that either; sorry. You can easily write a modified
version of `diredp-bookmark' that does that, for your own use.
4. Why the comment about keeping part of the code in sync with the
code for `bmkp-make-record-for-target-file', and where is that
function?
This is a note to myself, so that if I improve one of these
functions later I will remember to consider improving the other
one similarly. Function `bmkp-make-record-for-target-file' is in
library Bookmark+: http://www.emacswiki.org/emacs/BookmarkPlus
HTH.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-02-22 20:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-22 18:05 bug#19923: 24.4: diredp-do-bookmark fails: claims "Wrong number of arguments" Boruch Baum
2015-02-22 19:29 ` Drew Adams
2015-02-22 20:33 ` Drew Adams
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).