GNU bug report logs -
#6690
24.0.50; tmm-get-keymap is broken
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Wed, 21 Jul 2010 15:25:02 UTC
Severity: normal
Tags: moreinfo
Found in version 24.0.50
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> emacs -Q
> In several of the `cond' branches the variable `str' is not defined, so
> it is nil from the `let' default initialization.
> Then this code raises an error "Wrong type argument: stringp, nil",
> since `str' is not a string:
> (unless (eq km 'ignore)
> (let ((binding (where-is-internal km nil t)))
> (when binding
> (setq binding (key-description binding))
> ;; Try to align the keybindings.
> (let ((colwidth (min 30 (- (/ (window-width) 2) 10))))
> ;; STR is nil - so cannot use `string-width' or `concat'.
> (setq str
> (concat str
> (make-string (max 2 (- colwidth
> (string-width str)
> (string-width binding)))
> ?\s)
> binding))))))
Thanks for the report. Indeed, the code is brittle in this regard.
I could easily work around the problem by checking `str' before taking
its width (concat should work just fine with nil), but before I do that,
I'd like to make sure the result (which would basically treat a nil as
equivalent to "") is right, so could you give some example where the
problem gets triggered (in all "reasonable" cases I can think of, str
ends up being non-nil since otherwise it means the menu entry would
have a valid command and a valid shortcut, but no name).
Stefan
This bug report was last modified 9 years and 149 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.