+ (delete-region lirc-prompt-marker lirc-input-marker))
+ (save-excursion
+ (goto-char lirc-prompt-marker)
+ (let ((inhibit-read-only t))
+ (insert (propertize lirc-prompt-string
+ 'face 'lirc-prompt
+ 'read-only t
+ 'rear-nonsticky t))))))
+
+(defvar lirc-prompt-marker nil
+ "Marker for prompt position in LIRC buffer.")
+
+(defvar lirc-input-marker nil
+ "Marker for prompt position in LIRC buffer.")
+
+(defun lirc-setup-buffer ()
+ (with-current-buffer (get-buffer-create "*lirc*")
+ (if (markerp lirc-prompt-marker)
+ (set-marker lirc-prompt-marker (point-max))
+ (setq lirc-prompt-marker (point-max-marker)))
+ (if (markerp lirc-input-marker)
+ (set-marker lirc-input-marker (point-max))
+ (setq lirc-input-marker (point-max-marker)))
+ (lirc-render-prompt)
+ (goto-char (point-max))
+ (recenter -1)))
+
+;;; Message evaluation
+;;