Mercurial > hg > xemacs
diff shared/refInsert.el @ 0:107d592c5f4a
DICE versions, used by pers/common, recursive, I think/hope
author | Henry S. Thompson <ht@inf.ed.ac.uk> |
---|---|
date | Mon, 08 Feb 2021 11:44:37 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/shared/refInsert.el Mon Feb 08 11:44:37 2021 +0000 @@ -0,0 +1,45 @@ +;;; refInsert.el --- replace url with ref, resolve at end + +(provide 'refInsert) +;;; Code: + +(defun reference () + "Insert a reference" + (interactive) + (let ((current-point (point)) + (beginning (search-backward " +" (point-min) t))) + (save-excursion + (if (not (equal beginning nil)) + (goto-char beginning)) + (let ((url-point (search-forward-regexp "[a-zA-Z]+:[^ +]+" (+ current-point 1) t)) + (ref "http://www.w3.org/DOM")) + (if (not (equal url-point nil)) + (progn + (setq ref (buffer-substring (match-beginning 0) (match-end 0))) + (replace-match "") + (setq current-point (point)))) + + (setq ref (read-string "Reference? " ref)) + (setq nbReferences + (string-to-number (read-string "Reference number? " + (number-to-string (+ nbReferences 1))))) + (let ((search-p (search-forward-regexp "^-- +" (point-max) t))) + (if (equal search-p nil) + (end-of-buffer) + (progn (goto-char search-p) (previous-line 1))) + (insert (concat "[" (number-to-string nbReferences) "] " + ref)) + (newline)))) + (goto-char current-point) + (insert (concat "[" (number-to-string nbReferences) "]")) + )) + +(setq nbReferences 0) + +(add-hook 'mail-setup-hook (lambda () (setq nbReferences 0))) +(add-hook 'gnus-message-setup-hook (lambda () (setq nbReferences 0))) + +;;; %F ends here