# HG changeset patch # User Juanma Barranquero # Date 1138502874 0 # Node ID 0d6e07750ed80097ddba6fb67d2b6566a4a82649 # Parent 8ad0f8c7115f4fa9b4e64be379047b97d992151f (bs--format-aux): Implement `middle' alignment as described in the docstring for `bs-attributes-list'. (bs--get-name): Simplify. Don't pad the buffer name. diff -r 8ad0f8c7115f -r 0d6e07750ed8 lisp/bs.el --- a/lisp/bs.el Sun Jan 29 02:19:33 2006 +0000 +++ b/lisp/bs.el Sun Jan 29 02:47:54 2006 +0000 @@ -1332,17 +1332,9 @@ for mouse highlighting. START-BUFFER is the buffer where we started buffer selection. ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." - (let ((name (copy-sequence (buffer-name)))) - (add-text-properties - 0 (length name) - '(mouse-face highlight - help-echo - "mouse-2: select this buffer, mouse-3: select in other frame") - name) - (if (< (length name) bs--name-entry-length) - (concat name - (make-string (- bs--name-entry-length (length name)) ? )) - name))) + (propertize (buffer-name) + 'help-echo "mouse-2: select this buffer, mouse-3: select in other frame" + 'mouse-face 'highlight)) (defun bs--get-mode-name (start-buffer all-buffers) "Return the name of mode of current buffer for Buffer Selection Menu. @@ -1399,12 +1391,12 @@ (defun bs--format-aux (string align len) "Generate a string with STRING with alignment ALIGN and length LEN. ALIGN is one of the symbols `left', `middle', or `right'." - (let ((length (length string))) - (if (>= length len) - string - (if (eq 'right align) - (concat (make-string (- len length) ? ) string) - (concat string (make-string (- len length) ? )))))) + (let* ((width (length string)) + (len (max len width))) + (format (format "%%%s%ds" (if (eq align 'right) "" "-") len) + (if (eq align 'middle) + (concat (make-string (/ (- len width) 2) ?\s) string) + string)))) (defun bs--show-header () "Insert header for Buffer Selection Menu in current buffer."