* lisp/format-spec.el (format-spec): Allow spec chars with nil values.

Fixes: debbugs:14420
This commit is contained in:
Glenn Morris 2013-05-20 00:45:58 -07:00
parent d6635ba230
commit 33c0f65b6f
2 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,7 @@
2013-05-20 Glenn Morris <rgm@gnu.org>
* format-spec.el (format-spec): Allow spec chars with nil. (Bug#14420)
2013-05-19 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/ruby-mode.el (ruby-expression-expansion-re): Allow to

View file

@ -44,14 +44,15 @@ the text that it generates."
((looking-at "\\([-0-9.]*\\)\\([a-zA-Z]\\)")
(let* ((num (match-string 1))
(spec (string-to-char (match-string 2)))
(val (cdr (assq spec specification))))
(val (assq spec specification)))
(unless val
(error "Invalid format character: `%%%c'" spec))
(setq val (cdr val))
;; Pad result to desired length.
(let ((text (format (concat "%" num "s") val)))
(let ((text (format (concat "%" num "s") val)))
;; Insert first, to preserve text properties.
(insert-and-inherit text)
;; Delete the specifier body.
(insert-and-inherit text)
;; Delete the specifier body.
(delete-region (+ (match-beginning 0) (length text))
(+ (match-end 0) (length text)))
;; Delete the percent sign.