yatex
changeset 455:bf2497be3ec5 dev
YaTeX-prev-error: Select opened buffer-window if it is already open.
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Sun, 26 Feb 2017 11:35:32 +0859 |
parents | aaa655456752 |
children | 7bf780961390 |
files | yatexprc.el |
diffstat | 1 files changed, 21 insertions(+), 7 deletions(-) [+] |
line diff
1.1 --- a/yatexprc.el Wed Feb 22 08:47:39 2017 +0859 1.2 +++ b/yatexprc.el Sun Feb 26 11:35:32 2017 +0859 1.3 @@ -1,7 +1,7 @@ 1.4 ;;; yatexprc.el --- YaTeX process handler -*- coding: sjis -*- 1.5 ;;; 1.6 ;;; (c)1993-2017 by HIROSE Yuuji.[yuuji@yatex.org] 1.7 -;;; Last modified Thu Jan 5 17:46:36 2017 on firestorm 1.8 +;;; Last modified Sun Feb 26 11:33:27 2017 on firestorm 1.9 ;;; $Id$ 1.10 1.11 ;;; Code: 1.12 @@ -1113,7 +1113,7 @@ 1.13 t) ;for YaTeX-goto-corresponding-* 1.14 nil))) 1.15 1.16 - (defun YaTeX-set-virtual-error-position (file-sym line-sym) 1.17 +(defun YaTeX-set-virtual-error-position (file-sym line-sym) 1.18 "Replace the value of FILE-SYM, LINE-SYM by virtual error position." 1.19 (cond 1.20 ((and (get 'dvi2-command 'region) 1.21 @@ -1131,9 +1131,14 @@ 1.22 (interactive) 1.23 (let ((cur-buf (save-excursion (YaTeX-visit-main t) (buffer-name))) 1.24 (cur-win (selected-window)) 1.25 + tsb-frame-selwin 1.26 b0 bound errorp error-line typeset-win error-buffer error-win) 1.27 (if (null (get-buffer YaTeX-typeset-buffer)) 1.28 (error "There is no typesetting buffer.")) 1.29 + (and (fboundp 'selected-frame) 1.30 + (setq typeset-win (get-buffer-window YaTeX-typeset-buffer t)) 1.31 + (setq tsb-frame-selwin (frame-selected-window typeset-win))) 1.32 + 1.33 (YaTeX-showup-buffer YaTeX-typeset-buffer nil t) 1.34 (if (and (markerp YaTeX-typeset-marker) 1.35 (eq (marker-buffer YaTeX-typeset-marker) (current-buffer))) 1.36 @@ -1157,9 +1162,23 @@ 1.37 (if (or (null error-line) (equal 0 error-line)) 1.38 (error "Can't detect error position.")) 1.39 (YaTeX-set-virtual-error-position 'error-buffer 'error-line) 1.40 + 1.41 + (select-window typeset-win) 1.42 + (skip-chars-backward "0-9") 1.43 + (recenter (/ (window-height) 2)) 1.44 + (sit-for 1) 1.45 + (goto-char b0) 1.46 + (and tsb-frame-selwin (select-window tsb-frame-selwin)) ;restore selwin 1.47 + 1.48 (setq error-win (get-buffer-window error-buffer)) 1.49 (select-window cur-win) 1.50 (cond 1.51 + (t (goto-buffer-window error-buffer) 1.52 + (if (fboundp 'raise-frame) 1.53 + (let ((edit-frame (window-frame (selected-window)))) 1.54 + (raise-frame edit-frame) 1.55 + (select-frame edit-frame))) 1.56 + ) 1.57 (error-win (select-window error-win)) 1.58 ((eq (get-lru-window) typeset-win) 1.59 (YaTeX-switch-to-buffer error-buffer)) 1.60 @@ -1170,11 +1189,6 @@ 1.61 (message "LaTeX %s in `%s' on line: %d." 1.62 (if errorp "error" "warning") 1.63 error-buffer error-line) 1.64 - (select-window typeset-win) 1.65 - (skip-chars-backward "0-9") 1.66 - (recenter (/ (window-height) 2)) 1.67 - (sit-for 1) 1.68 - (goto-char b0) 1.69 (select-window error-win))) 1.70 1.71 (defun YaTeX-jump-error-line ()