(set-process-sentinel liece-server-process 'liece-sentinel)
(set-process-filter liece-server-process 'liece-filter)
(if (or liece-ask-for-password liece-reconnect-with-password)
- (let ((passwd-echo ?*) password)
- (setq password (read-passwd (_ "Server Password: ")))
+ (let ((password
+ (liece-read-passwd (_ "Server Password: "))))
(or (string= password "")
(setq liece-password password))))
(if liece-password
(delete-region (point-min)
(progn
(goto-char (- (buffer-size)
- liece-buffer-default-size))
+ liece-buffer-min-size))
(beginning-of-line -1)
(point)))
(garbage-collect)
Only used from `liece-before-insert-functions'."
(and (> liece-buffer-check-interval 0)
(or (null liece-buffer-last-check-time)
- (> (liece-time-difference liece-buffer-last-check-time
- (current-time))
+ (> (liece-time-difference (current-time)
+ liece-buffer-last-check-time)
liece-buffer-check-interval))
(liece-check-buffers)))
(defun liece-refresh-buffer-window (buffer)
"Center point in window of BUFFER and redisplay frame."
- (let ((window (liece-get-buffer-window buffer)))
- (when (and window (not (pos-visible-in-window-p (point-max) window)))
+ (let ((window (liece-get-buffer-window buffer))
+ (last-point (point-max)))
+ ;; skip last white spaces
+ (while (memq (char-before last-point) '(?\n ?\t ?\ ))
+ (setq last-point (1- last-point)))
+ (when (and window (not (pos-visible-in-window-p last-point window)))
(save-selected-window
(select-window window)
- (goto-char (point-max))
- (if (null liece-scroll-step)
- (progn
- ;; skip last empty lines
- (while (memq (char-before) '(?\n ?\t ?\ ))
- (backward-char))
- (recenter -1))
- (vertical-motion
- (- (or liece-scroll-step
- (1+ (/ (liece-window-height window) 2)))
- (liece-window-height window)))
- (set-window-start window (point))
- (goto-char (point-max)))))))
+ (goto-char last-point)
+ (recenter (- (or liece-scroll-step 1)))))))
(defmacro liece-save-point (&rest body)
"Execute BODY, then goto the point that was around before BODY."