From ee361633cbdbf97a6331aa7d9721a734b7bbe207 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Thu, 12 Aug 2021 11:02:26 +1000 Subject: Factoring out the function that moves the point to a ticket section. --- rt-liberation.el | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'rt-liberation.el') diff --git a/rt-liberation.el b/rt-liberation.el index 1140eed..51efc69 100644 --- a/rt-liberation.el +++ b/rt-liberation.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2008-2021 Free Software Foundation, Inc. ;; Author: Yoni Rabkin -;; Authors: Aaron S. Hawley , John Sullivan +;; Authors: Aaron S. Hawley , John Sullivan , Yuchen Pei ;; Maintainer: Yoni Rabkin ;; Version: 2.4rc ;; Keywords: rt, tickets @@ -785,6 +785,18 @@ returned as no associated text properties." (message "no previous section")) (goto-char (point-at-bol))) +(defun rt-liber-viewer-move-point-to-section (history-id) + "Move point to the beginning of section with HISTORY-ID." + (let ((current-history-id (alist-get 'id (rt-liber-viewer2-get-section-data))) + (previous-history-id nil)) + (while (not (or (string-equal history-id current-history-id) + (eq current-history-id previous-history-id))) + (setq previous-history-id current-history-id) + (rt-liber-viewer2-next-section-in) + (setq current-history-id (alist-get 'id (rt-liber-viewer2-get-section-data)))) + (when (not (string-equal history-id current-history-id)) + (error "Cannot find section.")))) + ;; wrapper functions around specific functions provided by a backend (declare-function rt-liber-gnus-compose -- cgit v1.2.3