Commit c7e73d51 authored by Glenn Morris's avatar Glenn Morris
Browse files

calendar-insert-at-column small fix for bug#10978

* lisp/calendar/calendar.el (calendar-insert-at-column):
Handle non-unit-width characters a bit better.
parent f66eca26
2012-03-16 Glenn Morris <rgm@gnu.org>
* calendar/calendar.el (calendar-insert-at-column):
Handle non-unit-width characters a bit better. (Bug#10978)
2012-03-15 Chong Yidong <cyd@gnu.org>
* emacs-lisp/ring.el (ring-extend): New function.
......
......@@ -1424,16 +1424,24 @@ Optional integers MON and YR are used instead of today's date."
"Move to column INDENT, adding spaces as needed.
Inserts STRING so that it ends at INDENT. STRING is either a
literal string, or a sexp to evaluate to return such. Truncates
STRING to length TRUNCATE, ensure a trailing space."
STRING to length TRUNCATE, and ensures a trailing space."
(if (not (ignore-errors (stringp (setq string (eval string)))))
(calendar-move-to-column indent)
(if (> (length string) truncate)
(setq string (substring string 0 truncate)))
(if (> (string-width string) truncate)
(setq string (truncate-string-to-width string truncate)))
(or (string-match " $" string)
(if (= (length string) truncate)
(aset string (1- truncate) ?\s)
(setq string (concat string " "))))
(calendar-move-to-column (- indent (length string)))
(setq string (concat (if (= (string-width string) truncate)
(substring string 0 -1)
string)
;; Avoid inserting text properties unless
;; we have to (ie, non-unit-width chars).
;; This is by no means essential.
(if (= (string-width string) (length string))
" "
;; Cribbed from buff-menu.el.
(propertize
" " 'display `(space :align-to ,indent))))))
(calendar-move-to-column (- indent (string-width string)))
(insert string)))
(defun calendar-generate-month (month year indent)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment