merge trunk
[bpt/emacs.git] / lisp / progmodes / ebnf2ps.el
index 27eaeb1..5d0bfad 100644 (file)
@@ -1,7 +1,6 @@
 ;;; ebnf2ps.el --- translate an EBNF to a syntactic chart on PostScript
 
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1999-2012  Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,9 +21,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 (defconst ebnf-version "4.4"
   "ebnf2ps.el, v 4.4 <2007/02/12 vinicius>
@@ -2087,7 +2084,7 @@ special."
   "*Specify extra width for arrow shape drawing.
 
 The extra width is used to avoid that the arrowhead and the terminal border
-overlap.  It depens on `ebnf-arrow-shape' and `ebnf-line-width'."
+overlap.  It depends on `ebnf-arrow-shape' and `ebnf-line-width'."
   :type 'number
   :version "22"
   :group 'ebnf-shape)
@@ -2232,8 +2229,8 @@ processed.
 
 See also `ebnf-print-buffer'."
   (interactive
-   (list (read-file-name "Directory containing EBNF files (print): "
-                        nil default-directory)))
+   (list (read-directory-name "Directory containing EBNF files (print): "
+                             nil default-directory)))
   (ebnf-log-header "(ebnf-print-directory %S)" directory)
   (ebnf-directory 'ebnf-print-buffer directory))
 
@@ -2290,8 +2287,8 @@ processed.
 
 See also `ebnf-spool-buffer'."
   (interactive
-   (list (read-file-name "Directory containing EBNF files (spool): "
-                        nil default-directory)))
+   (list (read-directory-name "Directory containing EBNF files (spool): "
+                             nil default-directory)))
   (ebnf-log-header "(ebnf-spool-directory %S)" directory)
   (ebnf-directory 'ebnf-spool-buffer directory))
 
@@ -2343,8 +2340,8 @@ processed.
 
 See also `ebnf-eps-buffer'."
   (interactive
-   (list (read-file-name "Directory containing EBNF files (EPS): "
-                        nil default-directory)))
+   (list (read-directory-name "Directory containing EBNF files (EPS): "
+                             nil default-directory)))
   (ebnf-log-header "(ebnf-eps-directory %S)" directory)
   (ebnf-directory 'ebnf-eps-buffer directory))
 
@@ -2428,8 +2425,8 @@ are processed.
 
 See also `ebnf-syntax-buffer'."
   (interactive
-   (list (read-file-name "Directory containing EBNF files (syntax): "
-                        nil default-directory)))
+   (list (read-directory-name "Directory containing EBNF files (syntax): "
+                             nil default-directory)))
   (ebnf-log-header "(ebnf-syntax-directory %S)" directory)
   (ebnf-directory 'ebnf-syntax-buffer directory))
 
@@ -3263,7 +3260,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
 
 % --- Corners
 
-%>corner Right Descendent: height arrow corner_RD
+%>corner Right Descendant: height arrow corner_RD
 %   _             | arrow
 %  /   height > 0 |  0 - none
 % |               |  1 - right
@@ -3302,7 +3299,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
  Gstroke
 }def
 
-%>corner Right Ascendent: height arrow corner_RA
+%>corner Right Ascendant: height arrow corner_RA
 %                 | arrow
 %    | height > 0 |  0 - none
 %   /             |  1 - right
@@ -3341,7 +3338,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
  Gstroke
 }def
 
-%>corner Left Descendent: height arrow corner_LD
+%>corner Left Descendant: height arrow corner_LD
 %  _              | arrow
 %   \\  height > 0 |  0 - none
 %    |            |  1 - right
@@ -3380,7 +3377,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
  Gstroke
 }def
 
-%>corner Left Ascendent: height arrow corner_LA
+%>corner Left Ascendant: height arrow corner_LA
 %                 | arrow
 % |    height > 0 |  0 - none
 %  \\              |  1 - right
@@ -4010,7 +4007,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and
 /#ebnf2ps#dict 230 dict def
 #ebnf2ps#dict begin
 
-% Initiliaze variables to avoid name-conflicting with document variables.
+% Initialize variables to avoid name-conflicting with document variables.
 % This is the case when using `bind' operator.
 /-fillp-               0 def           /h              0 def
 /-ox-                  0 def           /half           0 def
@@ -4567,8 +4564,7 @@ end
                    horizontal  (memq (ebnf-node-action prod)
                                      ebnf-action-list))
              ;; generate production in EPS buffer
-             (save-excursion
-               (set-buffer eps-buffer)
+             (with-current-buffer eps-buffer
                (setq ebnf-eps-upper-x    0.0
                      ebnf-eps-upper-y    0.0
                      ebnf-eps-max-width  prod-width
@@ -4583,8 +4579,7 @@ end
                (ebnf-eps-finish-and-write eps-buffer
                                           (ebnf-eps-filename prod-name)))
              ;; prepare for next loop
-             (save-excursion
-               (set-buffer eps-buffer)
+             (with-current-buffer eps-buffer
                (erase-buffer))
              (setq ebnf-tree (cdr ebnf-tree)))
            ;; write and kill temporary buffers
@@ -4619,8 +4614,7 @@ end
                                           prod-width prod-height eps-buffer)
   (while prod-list
     (add-to-list file-list-sym (car prod-list))
-    (save-excursion
-      (set-buffer (get-buffer-create (concat " *" (car prod-list) "*")))
+    (with-current-buffer (get-buffer-create (concat " *" (car prod-list) "*"))
       (goto-char (point-max))
       (cond
        ;; first production
@@ -5043,7 +5037,7 @@ killed after process termination."
                (when gen-func
                  (setq error-msg "EMPTY RULES"
                        tree      (ebnf-eliminate-empty-rules tree))
-                 (setq error-msg "OPTMIZE"
+                 (setq error-msg "OPTIMIZE"
                        tree      (ebnf-optimize tree))
                  (setq error-msg "DIMENSIONS"
                        tree      (ebnf-dimensions tree))
@@ -5280,12 +5274,11 @@ killed after process termination."
 
 (defun ebnf-begin-file ()
   (ps-flush-output)
-  (save-excursion
-    (set-buffer ps-spool-buffer)
+  (with-current-buffer ps-spool-buffer
     (goto-char (point-min))
     (and (search-forward "%%Creator: " nil t)
         (not (search-forward "& ebnf2ps v"
-                             (save-excursion (end-of-line) (point))
+                             (line-end-position)
                              t))
         (progn
           ;; adjust creator comment
@@ -5301,8 +5294,7 @@ killed after process termination."
 
 (defun ebnf-eps-finish-and-write (buffer filename)
   (when (buffer-modified-p buffer)
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (ebnf-eps-header-footer-set filename)
       (setq ebnf-eps-upper-x (max ebnf-eps-upper-x ebnf-eps-max-width)
            ebnf-eps-upper-y (if (zerop ebnf-eps-upper-y)
@@ -6077,7 +6069,7 @@ killed after process termination."
 
 
 (defun ebnf-make-terminal1 (name gen-func dim-func)
-  (vector gen-func                     ; 0 generatore
+  (vector gen-func                     ; 0 generator
          'ignore                       ; 1 width fun
          dim-func                      ; 2 dimension fun
          0.0                           ; 3 entry
@@ -6351,8 +6343,7 @@ killed after process termination."
 
 (defun ebnf-log (format-str &rest args)
   (when ebnf-log
-    (save-excursion
-      (set-buffer (get-buffer-create "*Ebnf2ps Log*"))
+    (with-current-buffer (get-buffer-create "*Ebnf2ps Log*")
       (goto-char (point-max))
       (insert (apply 'format format-str args) "\n"))))
 
@@ -6403,5 +6394,4 @@ killed after process termination."
 
 (provide 'ebnf2ps)
 
-;;; arch-tag: 148bc8af-5398-468b-b922-eeb7afef3e4f
 ;;; ebnf2ps.el ends here