/[emacs]/emacs/lisp/progmodes/ps-mode.el
ViewVC logotype

Diff of /emacs/lisp/progmodes/ps-mode.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by pj, Mon Jul 16 12:22:59 2001 UTC revision 1.8 by gerd, Fri Oct 26 09:14:10 2001 UTC
# Line 1  Line 1 
1  ;;; ps-mode.el --- PostScript mode for GNU Emacs  ;;; ps-mode.el --- PostScript mode for GNU Emacs
2    
3  ;; Copyright (C) 1999 Free Software Foundation, Inc.  ;; Copyright (C) 1999, 2001 Free Software Foundation, Inc.
4    
5  ;; Author:     Peter Kleiweg <kleiweg@let.rug.nl>  ;; Author:     Peter Kleiweg <kleiweg@let.rug.nl>
6  ;; Maintainer: Peter Kleiweg <kleiweg@let.rug.nl>  ;; Maintainer: Peter Kleiweg <kleiweg@let.rug.nl>
7  ;; Created:    20 Aug 1997  ;; Created:    20 Aug 1997
8  ;; Version:    1.1e, 11 Nov 1999  ;; Version:    1.1f, 25 Oct 2001
9  ;; Keywords:   PostScript, languages  ;; Keywords:   PostScript, languages
10    
11  ;; This file is part of GNU Emacs.  ;; This file is part of GNU Emacs.
# Line 30  Line 30 
30    
31  ;;; Code:  ;;; Code:
32    
33  (defconst ps-mode-version "1.1e, 11 Nov 1999")  (defconst ps-mode-version "1.1f, 25 Oct 2001")
34  (defconst ps-mode-maintainer-address "Peter Kleiweg <kleiweg@let.rug.nl>")  (defconst ps-mode-maintainer-address "Peter Kleiweg <kleiweg@let.rug.nl>")
35    
36  (require 'easymenu)  (require 'easymenu)
# Line 104  When the figure is finished these values Line 104  When the figure is finished these values
104            (const :tag "dsheet"      (1584 2448))            (const :tag "dsheet"      (1584 2448))
105            (const :tag "esheet"      (2448 3168))))            (const :tag "esheet"      (2448 3168))))
106    
107  (defcustom ps-mode-print-function  (defcustom ps-mode-print-function
108    '(lambda ()    (lambda ()
109       (let ((lpr-switches nil)       (let ((lpr-switches nil)
110             (lpr-command (if (memq system-type '(usg-unix-v dgux hpux irix))             (lpr-command (if (memq system-type '(usg-unix-v dgux hpux irix))
111                              "lp" "lpr")))                              "lp" "lpr")))
# Line 129  When the figure is finished these values Line 129  When the figure is finished these values
129               (0 font-lock-keyword-face nil nil))               (0 font-lock-keyword-face nil nil))
130              ("^\\(Error\\|Can't\\).*"              ("^\\(Error\\|Can't\\).*"
131               (0 font-lock-warning-face nil nil))               (0 font-lock-warning-face nil nil))
132              ("^\\(Current file position is\\) \\([0-9]+\\)"              ("^\\(Current file position is\\) \\([0-9]+\\)"
133               (1 font-lock-comment-face nil nil)               (1 font-lock-comment-face nil nil)
134               (2 font-lock-warning-face nil nil))))               (2 font-lock-warning-face nil nil))))
135    "*Medium level highlighting of messages from the PostScript interpreter.    "*Medium level highlighting of messages from the PostScript interpreter.
# Line 162  See documentation on font-lock for detai Line 162  See documentation on font-lock for detai
162    
163  Example: \"executive\"  Example: \"executive\"
164    
165  You won't need to set this option for Ghostscript.  You won't need to set this option for Ghostscript."
 "  
166    :group 'PostScript-interaction    :group 'PostScript-interaction
167    :type '(choice (const nil) string))    :type '(choice (const nil) string))
168    
# Line 180  If nil, the following are tried in turn, Line 179  If nil, the following are tried in turn,
179    1. \"$TEMP\"    1. \"$TEMP\"
180    2. \"$TMP\"    2. \"$TMP\"
181    3. \"$HOME/tmp\"    3. \"$HOME/tmp\"
182    4. \"/tmp\"    4. \"/tmp\""
 "  
183    :group 'PostScript-interaction    :group 'PostScript-interaction
184    :type '(choice (const nil) directory))    :type '(choice (const nil) directory))
185    
# Line 204  If nil, the following are tried in turn, Line 202  If nil, the following are tried in turn,
202                 "gsave" "grestore" "grestoreall"                 "gsave" "grestore" "grestoreall"
203                 "showpage")))                 "showpage")))
204      (concat "\\<" (regexp-opt ops t) "\\>"))      (concat "\\<" (regexp-opt ops t) "\\>"))
205    "Regexp of PostScript operators that will be fontified")    "Regexp of PostScript operators that will be fontified.")
206    
207  ;; Level 1 font-lock:  ;; Level 1 font-lock:
208  ;;  - Special comments (reference face)  ;;  - Special comments (reference face)
# Line 214  If nil, the following are tried in turn, Line 212  If nil, the following are tried in turn,
212  ;; Multiline strings are not supported. Strings with nested brackets are.  ;; Multiline strings are not supported. Strings with nested brackets are.
213  (defconst ps-mode-font-lock-keywords-1  (defconst ps-mode-font-lock-keywords-1
214    '(("\\`%!PS.*" . font-lock-reference-face)    '(("\\`%!PS.*" . font-lock-reference-face)
215      ("^%%BoundingBox:[ \t]+-?[0-9]+[ \t]+-?[0-9]+[ \t]+-?[0-9]+[ \t]+-?[0-9]+[ \t]*$"      ("^%%BoundingBox:[ \t]+-?[0-9]+[ \t]+-?[0-9]+[ \t]+-?[0-9]+[ \t]+-?[0-9]+[ \t]*$"
216       . font-lock-reference-face)       . font-lock-reference-face)
217      (ps-mode-match-string-or-comment      (ps-mode-match-string-or-comment
218       (1 font-lock-comment-face nil t)       (1 font-lock-comment-face nil t)
# Line 258  If nil, the following are tried in turn, Line 256  If nil, the following are tried in turn,
256     ps-mode-font-lock-keywords-1     ps-mode-font-lock-keywords-1
257     (list     (list
258      '("//\\w+" . font-lock-type-face)      '("//\\w+" . font-lock-type-face)
259      '("^\\(/\\w+\\)\\>[[ \t]*\\(%.*\\)?\r?$"      '("^\\(/\\w+\\)\\>[[ \t]*\\(%.*\\)?\r?$"
260        . (1 font-lock-function-name-face))        . (1 font-lock-function-name-face))
261      '("^\\(/\\w+\\)\\>\\([ \t]*{\\|[ \t]*<<\\|.*\\<def\\>\\|[ \t]+[0-9]+[ \t]+dict\\>\\)"      '("^\\(/\\w+\\)\\>\\([ \t]*{\\|[ \t]*<<\\|.*\\<def\\>\\|[ \t]+[0-9]+[ \t]+dict\\>\\)"
262        . (1 font-lock-function-name-face))        . (1 font-lock-function-name-face))
# Line 361  If nil, the following are tried in turn, Line 359  If nil, the following are tried in turn,
359      ["8-bit to Octal Buffer" ps-mode-octal-buffer t]      ["8-bit to Octal Buffer" ps-mode-octal-buffer t]
360      ["8-bit to Octal Region" ps-mode-octal-region (mark t)]      ["8-bit to Octal Region" ps-mode-octal-region (mark t)]
361      "---"      "---"
362      ("Auto Indent"      ["Auto Indent" (setq ps-mode-auto-indent (not ps-mode-auto-indent))
363       ["On" (setq ps-mode-auto-indent t) (not ps-mode-auto-indent)]       :style toggle :selected ps-mode-auto-indent]
      ["Off" (setq ps-mode-auto-indent nil) ps-mode-auto-indent])  
364      "---"      "---"
365      ["Start PostScript"      ["Start PostScript"
366       ps-run-start       ps-run-start
# Line 442  If nil, the following are tried in turn, Line 439  If nil, the following are tried in turn,
439    
440  (unless ps-mode-syntax-table  (unless ps-mode-syntax-table
441    (setq ps-mode-syntax-table (make-syntax-table))    (setq ps-mode-syntax-table (make-syntax-table))
442        
443    (modify-syntax-entry ?\% "< " ps-mode-syntax-table)    (modify-syntax-entry ?\% "< " ps-mode-syntax-table)
444    (modify-syntax-entry ?\n "> " ps-mode-syntax-table)    (modify-syntax-entry ?\n "> " ps-mode-syntax-table)
445    (modify-syntax-entry ?\r "> " ps-mode-syntax-table)    (modify-syntax-entry ?\r "> " ps-mode-syntax-table)
446    (modify-syntax-entry ?\f "> " ps-mode-syntax-table)    (modify-syntax-entry ?\f "> " ps-mode-syntax-table)
447    (modify-syntax-entry ?\< "(>" ps-mode-syntax-table)    (modify-syntax-entry ?\< "(>" ps-mode-syntax-table)
448    (modify-syntax-entry ?\> ")<" ps-mode-syntax-table)    (modify-syntax-entry ?\> ")<" ps-mode-syntax-table)
449        
450    (modify-syntax-entry ?\! "w " ps-mode-syntax-table)    (modify-syntax-entry ?\! "w " ps-mode-syntax-table)
451    (modify-syntax-entry ?\" "w " ps-mode-syntax-table)    (modify-syntax-entry ?\" "w " ps-mode-syntax-table)
452    (modify-syntax-entry ?\# "w " ps-mode-syntax-table)    (modify-syntax-entry ?\# "w " ps-mode-syntax-table)
# Line 472  If nil, the following are tried in turn, Line 469  If nil, the following are tried in turn,
469    (modify-syntax-entry ?\` "w " ps-mode-syntax-table)    (modify-syntax-entry ?\` "w " ps-mode-syntax-table)
470    (modify-syntax-entry ?\| "w " ps-mode-syntax-table)    (modify-syntax-entry ?\| "w " ps-mode-syntax-table)
471    (modify-syntax-entry ?\~ "w " ps-mode-syntax-table)    (modify-syntax-entry ?\~ "w " ps-mode-syntax-table)
472        
473    (let ((i 128))    (let ((i 128))
474      (while (< i 256)      (while (< i 256)
475        (modify-syntax-entry i "w " ps-mode-syntax-table)        (modify-syntax-entry i "w " ps-mode-syntax-table)
# Line 481  If nil, the following are tried in turn, Line 478  If nil, the following are tried in turn,
478    
479  ;; PostScript mode.  ;; PostScript mode.
480    
481  ;;;###autoload  ;;;###autoload (autoload (quote ps-mode) "ps-mode" "Major mode for editing PostScript with GNU Emacs.\n" t)
482  (defun ps-mode ()  
483    (define-derived-mode ps-mode fundamental-mode "PostScript"
484    "Major mode for editing PostScript with GNU Emacs.    "Major mode for editing PostScript with GNU Emacs.
485    
486  Entry to this mode calls `ps-mode-hook'.  Entry to this mode calls `ps-mode-hook'.
# Line 490  Entry to this mode calls `ps-mode-hook'. Line 488  Entry to this mode calls `ps-mode-hook'.
488  The following variables hold user options, and can  The following variables hold user options, and can
489  be set through the `customize' command:  be set through the `customize' command:
490    
491    ps-mode-auto-indent    `ps-mode-auto-indent'
492    ps-mode-tab    `ps-mode-tab'
493    ps-mode-paper-size    `ps-mode-paper-size'
494    ps-mode-print-function    `ps-mode-print-function'
495    ps-run-prompt    `ps-run-prompt'
496    ps-run-font-lock-keywords-2    `ps-run-font-lock-keywords-2'
497    ps-run-x    `ps-run-x'
498    ps-run-dumb    `ps-run-dumb'
499    ps-run-init    `ps-run-init'
500    ps-run-error-line-numbers    `ps-run-error-line-numbers'
501    ps-run-tmp-dir    `ps-run-tmp-dir'
502    
503  Type \\[describe-variable] for documentation on these options.  Type \\[describe-variable] for documentation on these options.
504    
# Line 519  When Ghostscript encounters an error it Line 517  When Ghostscript encounters an error it
517  with a file position. Clicking mouse-2 on this number will bring  with a file position. Clicking mouse-2 on this number will bring
518  point to the corresponding spot in the PostScript window, if input  point to the corresponding spot in the PostScript window, if input
519  to the interpreter was sent from that window.  to the interpreter was sent from that window.
520  Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number has the same effect.  Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number has the same effect."
521  "    (set (make-local-variable 'font-lock-defaults)
522    (interactive)         '((ps-mode-font-lock-keywords
523    (kill-all-local-variables)            ps-mode-font-lock-keywords-1
524    (make-local-variable 'font-lock-defaults)            ps-mode-font-lock-keywords-2
525    (setq font-lock-defaults '((ps-mode-font-lock-keywords            ps-mode-font-lock-keywords-3)
526                                ps-mode-font-lock-keywords-1           t)))
                               ps-mode-font-lock-keywords-2  
                               ps-mode-font-lock-keywords-3)  
                              t)  
         major-mode 'ps-mode  
         mode-name  "PostScript")  
   (use-local-map ps-mode-map)  
   (set-syntax-table ps-mode-syntax-table)  
   (set (make-local-variable 'comment-start) "%")  
   (set (make-local-variable 'comment-start-skip)  
        "\\(\\(^\\|[^\\]\\)\\(\\\\\\\\\\)*\\)\\(%+ *\\)")  
   (run-hooks 'ps-mode-hook))  
527    
528  (defun ps-mode-show-version ()  (defun ps-mode-show-version ()
529    "Show current version of PostScript mode"    "Show current version of PostScript mode."
530    (interactive)    (interactive)
531    (message " *** PostScript Mode (ps-mode) Version %s *** " ps-mode-version))    (message " *** PostScript Mode (ps-mode) Version %s *** " ps-mode-version))
532    
533  (defun ps-mode-submit-bug-report ()  (defun ps-mode-submit-bug-report ()
534    "Submit via mail a bug report on PostScript mode"    "Submit via mail a bug report on PostScript mode."
535    (interactive)    (interactive)
536    (when (y-or-n-p "Submit bug report on PostScript mode? ")      (when (y-or-n-p "Submit bug report on PostScript mode? ")
537      (let ((reporter-prompt-for-summary-p nil)      (let ((reporter-prompt-for-summary-p nil)
538            (reporter-dont-compact-list '(ps-mode-print-function            (reporter-dont-compact-list '(ps-mode-print-function
539                                          ps-run-font-lock-keywords-2)))                                          ps-run-font-lock-keywords-2)))
# Line 604  Typing \\<ps-run-mode-map>\\[ps-run-goto Line 591  Typing \\<ps-run-mode-map>\\[ps-run-goto
591    (if (not (re-search-forward "[%(]" limit t))    (if (not (re-search-forward "[%(]" limit t))
592        ;; Nothing found: return failure.        ;; Nothing found: return failure.
593        nil        nil
594      (let (end)      (let ((end (match-end 0)))
595        (goto-char (match-beginning 0))        (goto-char (match-beginning 0))
       (setq end (match-end 0))  
596        (cond ((looking-at "\\(%.*\\)\\|\\((\\([^()\\\n]\\|\\\\.\\)*)\\)")        (cond ((looking-at "\\(%.*\\)\\|\\((\\([^()\\\n]\\|\\\\.\\)*)\\)")
597               ;; It's a comment or string without nested, unescaped brackets.               ;; It's a comment or string without nested, unescaped brackets.
598               (goto-char (match-end 0))               (goto-char (match-end 0))
# Line 615  Typing \\<ps-run-mode-map>\\[ps-run-goto Line 601  Typing \\<ps-run-mode-map>\\[ps-run-goto
601               ;; It's a string with nested brackets.               ;; It's a string with nested brackets.
602               (point))               (point))
603              (t              (t
604               ;; Try next match.               ;; Try next match.
605               (goto-char end)               (goto-char end)
606               (ps-mode-match-string-or-comment limit))))))               (ps-mode-match-string-or-comment limit))))))
607    
# Line 664  defines the beginning of a group. These Line 650  defines the beginning of a group. These
650        (indent-to (ps-mode-target-column))))        (indent-to (ps-mode-target-column))))
651    
652  (defun ps-mode-tabkey ()  (defun ps-mode-tabkey ()
653    "Indent/reindent current line, or insert tab"    "Indent/reindent current line, or insert tab."
654    (interactive)    (interactive)
655    (let ((column (current-column))    (let ((column (current-column))
656          target)          target)
# Line 675  defines the beginning of a group. These Line 661  defines the beginning of a group. These
661        (setq target (ps-mode-target-column))        (setq target (ps-mode-target-column))
662        (while (<= target column)        (while (<= target column)
663          (setq target (+ target ps-mode-tab)))          (setq target (+ target ps-mode-tab)))
664        (delete-horizontal-space)        (indent-line-to target))))
       (indent-to target))))  
665    
666  (defun ps-mode-backward-delete-char ()  (defun ps-mode-backward-delete-char ()
667    "Delete backward indentation, or delete backward character"    "Delete backward indentation, or delete backward character."
668    (interactive)    (interactive)
669    (let ((column (current-column))    (let ((column (current-column))
670          target)          target)
# Line 694  defines the beginning of a group. These Line 679  defines the beginning of a group. These
679          (setq target (- target ps-mode-tab)))          (setq target (- target ps-mode-tab)))
680        (if (< target 0)        (if (< target 0)
681            (setq target 0))            (setq target 0))
682        (delete-horizontal-space)        (indent-line-to target))))
       (indent-to target))))  
683    
684  (defun ps-mode-r-brace ()  (defun ps-mode-r-brace ()
685    "Insert `}' and perform balance."    "Insert `}' and perform balance."
# Line 720  defines the beginning of a group. These Line 704  defines the beginning of a group. These
704    (if ps-mode-auto-indent    (if ps-mode-auto-indent
705        (save-excursion        (save-excursion
706          (when (re-search-backward (concat "^[ \t]*" (regexp-quote right) "\\=") nil t)          (when (re-search-backward (concat "^[ \t]*" (regexp-quote right) "\\=") nil t)
707            (delete-horizontal-space)            (indent-line-to (ps-mode-target-column)))))
           (indent-to (ps-mode-target-column)))))  
708    (blink-matching-open))    (blink-matching-open))
709    
710  (defun ps-mode-other-newline ()  (defun ps-mode-other-newline ()
711    "Perform newline in `*ps run*' buffer"    "Perform newline in `*ps run*' buffer."
712    (interactive)    (interactive)
713    (let ((buf (current-buffer)))    (let ((buf (current-buffer)))
714      (set-buffer "*ps run*")      (set-buffer "*ps run*")
# Line 736  defines the beginning of a group. These Line 719  defines the beginning of a group. These
719  ;; Print PostScript.  ;; Print PostScript.
720    
721  (defun ps-mode-print-buffer ()  (defun ps-mode-print-buffer ()
722    "Print buffer as PostScript"    "Print buffer as PostScript."
723    (interactive)    (interactive)
724    (eval (list ps-mode-print-function)))    (funcall ps-mode-print-function))
725    
726  (defun ps-mode-print-region (begin end)  (defun ps-mode-print-region (begin end)
727    "Print region as PostScript, adding minimal header and footer lines:    "Print region as PostScript, adding minimal header and footer lines:
728    
729  %!PS  %!PS
730  <region>  <region>
731  showpage  showpage"
 "  
732    (interactive "r")    (interactive "r")
733    (let ((oldbuf (current-buffer))    (let ((buf (current-buffer)))
734          (tmpbuf (get-buffer-create "*ps print*")))      (with-temp-buffer
735      (copy-to-buffer tmpbuf begin end)        (insert "%!PS\n")
736      (set-buffer tmpbuf)        (insert-buffer-substring buf begin end)
737      (goto-char 1)        (insert "\nshowpage\n")
738      (insert "%!PS\n")        (funcall ps-mode-print-function))))
     (goto-char (point-max))  
     (insert "\nshowpage\n")  
     (eval (list ps-mode-print-function))  
     (set-buffer oldbuf)  
     (kill-buffer tmpbuf)))  
739    
740    
741  ;; Comment Out / Uncomment.  ;; Comment Out / Uncomment.
# Line 870  Only one `%' is removed, and it has to b Line 847  Only one `%' is removed, and it has to b
847    "Insert array /ISOLatin1Extended.    "Insert array /ISOLatin1Extended.
848    
849  This encoding vector contains all the entries from ISOLatin1Encoding  This encoding vector contains all the entries from ISOLatin1Encoding
850  plus the usually uncoded characters inserted on positions 1 through 28.  plus the usually uncoded characters inserted on positions 1 through 28."
 "  
851    (interactive)    (interactive)
852    (insert "    (insert "
853  % ISOLatin1Encoding, extended with remaining uncoded glyphs  % ISOLatin1Encoding, extended with remaining uncoded glyphs
# Line 994  plus the usually uncoded characters inse Line 970  plus the usually uncoded characters inse
970    
971  ;; Interactive PostScript interpreter.  ;; Interactive PostScript interpreter.
972    
973  (defun ps-run-mode ()  (define-derived-mode ps-run-mode fundamental-mode "Interactive PS"
974    "Major mode in interactive PostScript window.    "Major mode in interactive PostScript window.
975  This mode is invoked from ps-mode and should not be called directly.  This mode is invoked from `ps-mode' and should not be called directly.
976    
977  \\{ps-run-mode-map}  \\{ps-run-mode-map}"
978  "    (set (make-local-variable 'font-lock-defaults)
979    (kill-all-local-variables)         '((ps-run-font-lock-keywords
980    (make-local-variable 'font-lock-defaults)            ps-run-font-lock-keywords-1
981    (setq font-lock-defaults '((ps-run-font-lock-keywords            ps-run-font-lock-keywords-2)
982                                ps-run-font-lock-keywords-1           t))
983                                ps-run-font-lock-keywords-2)    (setq mode-line-process '(":%s")))
                              t)  
         major-mode 'ps-run-mode  
         mode-name  "Interactive PS"  
         mode-line-process '(":%s"))  
   (use-local-map ps-run-mode-map)  
   (run-hooks 'ps-run-mode-hook))  
984    
985  (defun ps-run-running ()  (defun ps-run-running ()
986    "Error if not in ps-mode or not running PostScript."    "Error if not in `ps-mode' or not running PostScript."
987    (unless (equal major-mode 'ps-mode)    (unless (equal major-mode 'ps-mode)
988      (error "This function can only be called from PostScript mode"))      (error "This function can only be called from PostScript mode"))
989    (unless (equal (process-status "ps-run") 'run)    (unless (equal (process-status "ps-run") 'run)
# Line 1022  This mode is invoked from ps-mode and sh Line 992  This mode is invoked from ps-mode and sh
992  (defun ps-run-start ()  (defun ps-run-start ()
993    "Start interactive PostScript."    "Start interactive PostScript."
994    (interactive)    (interactive)
995    (let ((command (if (and window-system ps-run-x) ps-run-x ps-run-dumb))    (let ((command (or (and window-system ps-run-x) ps-run-dumb))
996          (init-file nil)          (init-file nil)
997          (process-connection-type nil)          (process-connection-type nil)
998          (oldwin (selected-window))          (oldwin (selected-window)))
         i)  
999      (unless command      (unless command
1000        (error "No command specified to run interactive PostScript"))        (error "No command specified to run interactive PostScript"))
1001      (unless (and ps-run-mark (markerp ps-run-mark))      (unless (and ps-run-mark (markerp ps-run-mark))
# Line 1040  This mode is invoked from ps-mode and sh Line 1009  This mode is invoked from ps-mode and sh
1009      (when (process-status "ps-run")      (when (process-status "ps-run")
1010        (delete-process "ps-run"))        (delete-process "ps-run"))
1011      (erase-buffer)      (erase-buffer)
1012      (setq i (append command init-file))      (setq command (append command init-file))
1013      (while i      (insert (mapconcat 'identity command " ") "\n")
1014        (insert (car i) (if (cdr i) " " "\n"))      (apply 'start-process "ps-run" "*ps run*" command)
       (setq i (cdr i)))  
     (eval (append '(start-process "ps-run" "*ps run*") command init-file))  
1015      (select-window oldwin)))      (select-window oldwin)))
1016    
1017  (defun ps-run-quit ()  (defun ps-run-quit ()
# Line 1082  This mode is invoked from ps-mode and sh Line 1049  This mode is invoked from ps-mode and sh
1049      (ps-run-send-string (format "(%s) run" f) t)))      (ps-run-send-string (format "(%s) run" f) t)))
1050    
1051  (defun ps-run-boundingbox ()  (defun ps-run-boundingbox ()
1052    "View BoundingBox"    "View BoundingBox."
1053    (interactive)    (interactive)
1054    (ps-run-running)    (ps-run-running)
1055    (let (x1 y1 x2 y2 f    (let (x1 y1 x2 y2 f
# Line 1172  grestore Line 1139  grestore
1139          (delete-file i)))))          (delete-file i)))))
1140    
1141  (defun ps-run-mouse-goto-error (event)  (defun ps-run-mouse-goto-error (event)
1142    "Set point at mouse click, then call ps-run-goto-error."    "Set point at mouse click, then call `ps-run-goto-error'."
1143    (interactive "e")    (interactive "e")
1144    (mouse-set-point event)    (mouse-set-point event)
1145    (ps-run-goto-error))    (ps-run-goto-error))
# Line 1191  grestore Line 1158  grestore
1158    
1159  (defun ps-run-goto-error ()  (defun ps-run-goto-error ()
1160    "Jump to buffer position read as integer at point.    "Jump to buffer position read as integer at point.
1161  Use line numbers if ps-run-error-line-numbers is not nil"  Use line numbers if `ps-run-error-line-numbers' is not nil"
1162    (interactive)    (interactive)
1163    (let ((p (point)))    (let ((p (point)))
1164      (unless (looking-at "[0-9]")      (unless (looking-at "[0-9]")

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26