yatex

diff yatexprc.el @ 52:5d94deabb9f9

Set YaTeX-indent-line to 'indent-line-function. Revise fill features.
author yuuji
date Sun, 22 Jan 1995 14:20:46 +0000
parents b0371b6ed799
children 5f4b18da14b3
line diff
     1.1 --- a/yatexprc.el	Tue Dec 20 21:00:21 1994 +0000
     1.2 +++ b/yatexprc.el	Sun Jan 22 14:20:46 1995 +0000
     1.3 @@ -1,8 +1,8 @@
     1.4  ;;; -*- Emacs-Lisp -*-
     1.5  ;;; YaTeX process handler.
     1.6  ;;; yatexprc.el
     1.7 -;;; (c )1993-1994 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp]
     1.8 -;;; Last modified Wed Dec 14 16:58:15 1994 on 98fa
     1.9 +;;; (c )1993-1995 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp]
    1.10 +;;; Last modified Sun Jan 22 23:14:44 1995 on landcruiser
    1.11  ;;; $Id$
    1.12  
    1.13  (require 'yatex)
    1.14 @@ -142,8 +142,8 @@
    1.15  )
    1.16  
    1.17  (defun YaTeX-typeset-region ()
    1.18 -  "Paste the region to the file `texput.tex' and execute jlatex (or other)
    1.19 -to LaTeX typeset.  The region is specified by the rule:
    1.20 +  "Paste the region to the file `texput.tex' and execute typesetter.
    1.21 +The region is specified by the rule:
    1.22  	(1)If keyword `%#BEGIN' is found in the upper direction from (point).
    1.23  	  (1-1)if the keyword `%#END' is found after `%#BEGIN',
    1.24  		->Assume the text between `%#BEGIN' and `%#END' as region.
    1.25 @@ -161,7 +161,7 @@
    1.26  	 (cmd (concat (YaTeX-get-latex-command nil) " " texput))
    1.27  	 (buffer (current-buffer)) opoint preamble (subpreamble "") main
    1.28  	 (hilit-auto-highlight nil)	;for Emacs19 with hilit19
    1.29 -	 reg-begin reg-end)
    1.30 +	 reg-begin reg-end lineinfo)
    1.31  
    1.32        (save-excursion
    1.33  	(if (search-backward "%#BEGIN" nil t)
    1.34 @@ -173,8 +173,10 @@
    1.35  		  (setq reg-end (match-beginning 0)
    1.36  			end "END ---")
    1.37  		(setq reg-end (point-max))))
    1.38 -	  (setq typeout "=== Region from (point) to (mark) ===")
    1.39 -	  (setq reg-begin (point) reg-end (mark)))
    1.40 +	  (setq typeout "=== Region from (point) to (mark) ==="
    1.41 +		reg-begin (point) reg-end (mark)))
    1.42 +	(goto-char (min reg-begin reg-end))
    1.43 +	(setq lineinfo (count-lines (point-min) (point-end-of-line)))
    1.44  	(goto-char (point-min))
    1.45  	(while (search-forward "%#REQUIRE" nil t)
    1.46  	  (setq subpreamble
    1.47 @@ -201,12 +203,14 @@
    1.48  		 "\\begin{document}")))
    1.49        (goto-char opoint)
    1.50        ;;(set-buffer buffer)		;for clarity
    1.51 -      (set-buffer (find-file-noselect texput))
    1.52 +      (let ((hilit-auto-highlight nil))
    1.53 +	(set-buffer (find-file-noselect texput)))
    1.54        ;;(find-file YaTeX-texput-file)
    1.55        (erase-buffer)
    1.56        (if YaTeX-need-nonstop
    1.57  	  (insert "\\nonstopmode{}\n"))
    1.58        (insert preamble "\n" subpreamble "\n")
    1.59 +      (setq lineinfo (list (count-lines 1 (point-end-of-line)) lineinfo))
    1.60        (insert-buffer-substring buffer reg-begin reg-end)
    1.61        (insert "\\typeout{" typeout end "}\n") ;Notice the selected method.
    1.62        (insert "\n\\end{document}\n")
    1.63 @@ -215,7 +219,10 @@
    1.64        (set-buffer main)		;return to parent file or itself.
    1.65        (YaTeX-typeset cmd YaTeX-typeset-buffer)
    1.66        (switch-to-buffer buffer)		;for Emacs-19
    1.67 -      (put 'dvi2-command 'region t)))
    1.68 +      (put 'dvi2-command 'region t)
    1.69 +      (put 'dvi2-command 'file buffer)
    1.70 +      (put 'dvi2-command 'offset lineinfo)
    1.71 +      ))
    1.72  )
    1.73  
    1.74  (defun YaTeX-typeset-buffer ()
    1.75 @@ -379,6 +386,17 @@
    1.76  		 " to preview " preview-file))))))
    1.77  )
    1.78  
    1.79 +(defun YaTeX-set-virtual-error-position (file-sym line-sym)
    1.80 +  "Replace the value of FILE-SYM, LINE-SYM by virtual error position."
    1.81 +  (cond
    1.82 +   ((and (get 'dvi2-command 'region)
    1.83 +	 (> (symbol-value line-sym) (car (get 'dvi2-command 'offset))))
    1.84 +    (set file-sym (get 'dvi2-command 'file))
    1.85 +    (set line-sym
    1.86 +	 (+ (- (apply '- (get 'dvi2-command 'offset)))
    1.87 +	    (symbol-value line-sym)
    1.88 +	    -1)))))
    1.89 +
    1.90  (defun YaTeX-prev-error ()
    1.91    "Visit previous typeset error.
    1.92    To avoid making confliction of line numbers by editing, jump to
    1.93 @@ -404,10 +422,11 @@
    1.94  	   (buffer-substring
    1.95  	    (point)
    1.96  	    (progn (skip-chars-forward "0-9" (match-end 0)) (point))))
    1.97 -	  error-buffer (YaTeX-get-error-file cur-buf)
    1.98 -	  error-win (get-buffer-window error-buffer))
    1.99 +	  error-buffer (YaTeX-get-error-file cur-buf))
   1.100      (if (or (null error-line) (equal 0 error-line))
   1.101  	(error "Can't detect error position."))
   1.102 +    (YaTeX-set-virtual-error-position 'error-buffer 'error-line)
   1.103 +    (setq error-win (get-buffer-window error-buffer))
   1.104      (select-window cur-win)
   1.105      (cond
   1.106       (error-win (select-window error-win))
   1.107 @@ -442,12 +461,13 @@
   1.108        (goto-char (match-beginning 0))
   1.109        (setq error-line (string-to-int
   1.110  			(buffer-substring (match-beginning 1) (match-end 1)))
   1.111 -	    error-file (YaTeX-get-error-file YaTeX-current-TeX-buffer)
   1.112 -	    error-buf (YaTeX-switch-to-buffer error-file t))
   1.113 +	    error-file (YaTeX-get-error-file YaTeX-current-TeX-buffer))
   1.114 +      (YaTeX-set-virtual-error-position 'error-file 'error-line)
   1.115 +      (setq error-buf (YaTeX-switch-to-buffer error-file t)))
   1.116        (if (null error-buf)
   1.117  	  (error "`%s' is not found in this directory." error-file))
   1.118        (YaTeX-showup-buffer error-buf nil t)
   1.119 -      (goto-line error-line)))
   1.120 +      (goto-line error-line))
   1.121  )
   1.122  
   1.123  (defun YaTeX-send-string ()
   1.124 @@ -585,7 +605,7 @@
   1.125  page range description."
   1.126    (interactive "P")
   1.127    (let*((cmd (or (YaTeX-get-builtin "LPR") dviprint-command-format))
   1.128 -	from to (lbuffer "*dvi-printing*"))
   1.129 +	from to (lbuffer "*dvi-printing*") dir)
   1.130      (setq
   1.131       cmd 
   1.132       (YaTeX-replace-format
   1.133 @@ -616,10 +636,12 @@
   1.134  	   'YaTeX-lpr-command-history))
   1.135      (save-excursion
   1.136        (YaTeX-visit-main t) ;;change execution directory
   1.137 +      (setq dir default-directory)
   1.138        (YaTeX-showup-buffer
   1.139         lbuffer (function (lambda (x) (nth 3 (window-edges x)))))
   1.140        (set-buffer (get-buffer-create lbuffer))
   1.141        (erase-buffer)
   1.142 +      (cd dir)				;for 19
   1.143        (cond
   1.144         (YaTeX-dos
   1.145  	(call-process shell-file-name "con" "*dvi-printing*" nil
   1.146 @@ -636,6 +658,8 @@
   1.147  (defun YaTeX-main-file-p ()
   1.148    "Return if current buffer is main LaTeX source."
   1.149    (cond
   1.150 +   (YaTeX-parent-file
   1.151 +    (eq (get-file-buffer YaTeX-parent-file) (current-buffer)))
   1.152     ((YaTeX-get-builtin "!")
   1.153      (string-match (YaTeX-guess-parent (YaTeX-get-builtin "!")) (buffer-name)))
   1.154     (t