[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed.
From: |
Nicolas Goaziou |
Subject: |
Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed. |
Date: |
Sun, 25 Oct 2015 09:38:52 +0100 |
Hello,
Puneeth Chaganti <address@hidden> writes:
> Here is a patch that works for the case you describe.
Thank you. Some comments follow.
> + (org-id-show id 'org-pop-to-buffer-same-window))
(org-id-show id #'org-pop-to-buffer-same-window)
> +(defun org-id-show (id cmd)
> + "Show an entry with id ID by buffer-switching using CMD."
You should explain what is CMD. If it is a function, you should spell
out its signature.
> + (let ((m (org-id-find id 'marker)))
> + (unless m
> + (error "Cannot find entry with ID \"%s\"" id))
> + (if (not (equal (current-buffer) (marker-buffer m)))
> + (funcall cmd (marker-buffer m)))
(unless (eq (current-buffer) (marker-buffer m))
...)
> + (when (and (org-buffer-narrowed-p)
> + (let ((pos (marker-position m)))
> + (or (< pos (point-min))
> + (> pos (point-max)))))
> + (widen))
`org-buffer-narrowed-p' is not useful here since you check boundaries
right after its call.
(when (let ((pos (marker-position m)))
(or (< pos (point-min))
(> pos (point-max))))
(widen))
> + (goto-char m)
> + (move-marker m nil)
> + (org-show-context)))
I think this should be (org-show-context 'link-search) according to
`org-show-context-detail'.
> ;; id link type
>
> ;; Calling the following function is hard-coded into `org-store-link',
> @@ -659,25 +669,15 @@ optional argument MARKERP, return the position as a new
> marker."
> (defun org-id-open (id)
> "Go to the entry with id ID."
> (org-mark-ring-push)
> - (let ((m (org-id-find id 'marker))
> - cmd)
> - (unless m
> - (error "Cannot find entry with ID \"%s\"" id))
> - ;; Use a buffer-switching command in analogy to finding files
> - (setq cmd
> - (or
> - (cdr
> - (assq
> - (cdr (assq 'file org-link-frame-setup))
> - '((find-file . switch-to-buffer)
> - (find-file-other-window . switch-to-buffer-other-window)
> - (find-file-other-frame . switch-to-buffer-other-frame))))
> - 'switch-to-buffer-other-window))
> - (if (not (equal (current-buffer) (marker-buffer m)))
> - (funcall cmd (marker-buffer m)))
> - (goto-char m)
> - (move-marker m nil)
> - (org-show-context)))
> + (let ((cmd (or
> + (cdr
> + (assq
> + (cdr (assq 'file org-link-frame-setup))
> + '((find-file . switch-to-buffer)
> + (find-file-other-window . switch-to-buffer-other-window)
> + (find-file-other-frame . switch-to-buffer-other-frame))))
> + 'switch-to-buffer-other-window)))
#'switch-to-buffer-other-window
Regards,
--
Nicolas Goaziou
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., (continued)
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., John Kitchin, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Puneeth Chaganti, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Nicolas Goaziou, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Rasmus, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., John Kitchin, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Rasmus, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., John Kitchin, 2015/10/25
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Rasmus, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Puneeth Chaganti, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Puneeth Chaganti, 2015/10/24
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed.,
Nicolas Goaziou <=
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Puneeth Chaganti, 2015/10/25
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Nicolas Goaziou, 2015/10/25
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Puneeth Chaganti, 2015/10/25
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Rasmus, 2015/10/25
- Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Puneeth Chaganti, 2015/10/26
Re: [O] [PATCH] org-id-goto doesn't work if buffer is narrowed., Matt Lundin, 2015/10/23