(defun elpher-insert-index (string)
"Insert the index corresponding to STRING into the current buffer."
- (dolist (line (split-string string "\r\n"))
+ ;; Should be able to split directly on CRLF, but some non-conformant
+ ;; LF-only servers sadly exist, hence the following.
+ (dolist (line (split-string (replace-regexp-in-string "\r" "" string) "\n"))
(unless (= (length line) 0)
(elpher-insert-index-record line))))
'help-echo (format "mouse-1, RET: open %s on %s port %s"
selector host port)))
(pcase type
- (?i (elpher-insert-margin) ; Information
+ (?i (elpher-insert-margin) ;; Information
(insert (propertize display-string
'face 'elpher-info)))
- (?h (elpher-insert-margin "W") ; Web link
+ (?h (elpher-insert-margin "W") ;; Web link
(let ((url (elt (split-string selector "URL:") 1)))
(insert-text-button display-string
'face 'elpher-url
'action #'elpher-click-url
'follow-link t
'help-echo (format "mouse-1, RET: open url %s" url))))
- (?.) ; Occurs at end of index, can safely ignore.
+ (?.) ;; Occurs at end of index, can safely ignore.
(tp (elpher-insert-margin (concat (char-to-string tp) "?"))
(insert (propertize display-string
'face 'elpher-unknown-face)))))
(let* ((link-map (elpher-build-link-map)))
(if link-map
(let ((key (let ((completion-ignore-case t))
- (completing-read "Menu item: " link-map nil t))))
+ (completing-read "Directory entry/link (tab to autocomplete): " link-map nil t))))
(if (and key (> (length key) 0))
(let ((b (cdr (assoc key link-map))))
(goto-char (button-start b))