diff options
author | Glenn Morris <rgm@gnu.org> | 2013-05-20 00:45:58 -0700 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2013-05-20 00:45:58 -0700 |
commit | 33c0f65b6f763969923c4c03c7d97724fc56545c (patch) | |
tree | 21e9c90951117e2a5d24af8deda4760470828470 /lisp | |
parent | d6635ba23031c9ceb430d5bec5dbb8ee4c75ad12 (diff) | |
download | emacs-33c0f65b6f763969923c4c03c7d97724fc56545c.tar.gz |
* lisp/format-spec.el (format-spec): Allow spec chars with nil values.
Fixes: debbugs:14420
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 4 | ||||
-rw-r--r-- | lisp/format-spec.el | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8cc4a8876de..8fcd7424401 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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 diff --git a/lisp/format-spec.el b/lisp/format-spec.el index 1280966d737..6bb0fe9178a 100644 --- a/lisp/format-spec.el +++ b/lisp/format-spec.el @@ -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. |