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 ()