emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/forms.el [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/forms.el [lexbind]
Date: Tue, 14 Oct 2003 19:51:58 -0400

Index: emacs/lisp/forms.el
diff -c emacs/lisp/forms.el:2.43.2.1 emacs/lisp/forms.el:2.43.2.2
*** emacs/lisp/forms.el:2.43.2.1        Fri Apr  4 01:20:05 2003
--- emacs/lisp/forms.el Tue Oct 14 19:51:04 2003
***************
*** 286,292 ****
  ;; forms mode functions next/prev record and first/last
  ;; record.
  ;;
! ;; `local-write-file-hooks' is defined to save the actual data file
  ;; instead of the buffer data, `revert-file-hook' is defined to
  ;; revert a forms to original.
  
--- 286,292 ----
  ;; forms mode functions next/prev record and first/last
  ;; record.
  ;;
! ;; `write-file-functions' is defined to save the actual data file
  ;; instead of the buffer data, `revert-file-hook' is defined to
  ;; revert a forms to original.
  
***************
*** 301,312 ****
  (provide 'forms)                      ;;; official
  (provide 'forms-mode)                 ;;; for compatibility
  
! (defconst forms-version (substring "$Revision: 2.43.2.1 $" 11 -2)
    "The version number of forms-mode (as string).  The complete RCS id is:
  
!   $Id: forms.el,v 2.43.2.1 2003/04/04 06:20:05 miles Exp $")
  
! (defcustom forms-mode-hooks nil
    "Hook run upon entering Forms mode."
    :group 'forms
    :type 'hook)
--- 301,312 ----
  (provide 'forms)                      ;;; official
  (provide 'forms-mode)                 ;;; for compatibility
  
! (defconst forms-version (substring "$Revision: 2.43.2.2 $" 11 -2)
    "The version number of forms-mode (as string).  The complete RCS id is:
  
!   $Id: forms.el,v 2.43.2.2 2003/10/14 23:51:04 miles Exp $")
  
! (defcustom forms-mode-hook nil
    "Hook run upon entering Forms mode."
    :group 'forms
    :type 'hook)
***************
*** 648,677 ****
    (let ((read-file-filter forms-read-file-filter)
        (write-file-filter forms-write-file-filter))
      (if read-file-filter
!       (save-excursion
!         (set-buffer forms--file-buffer)
          (let ((inhibit-read-only t)
                (file-modified (buffer-modified-p)))
            (run-hooks 'read-file-filter)
            (if (not file-modified) (set-buffer-modified-p nil)))
          (if write-file-filter
!             (progn
!               (make-variable-buffer-local 'local-write-file-hooks)
!               (setq local-write-file-hooks (list write-file-filter)))))
        (if write-file-filter
!         (save-excursion
!           (set-buffer forms--file-buffer)
!           (make-variable-buffer-local 'local-write-file-hooks)
!           (setq local-write-file-hooks (list write-file-filter))))))
  
    ;; count the number of records, and set see if it may be modified
    (let (ro)
      (setq forms--total-records
!         (save-excursion
            (prog1
                (progn
                  ;;(message "forms: counting records...")
-                 (set-buffer forms--file-buffer)
                  (bury-buffer (current-buffer))
                  (setq ro buffer-read-only)
                  (count-lines (point-min) (point-max)))
--- 648,671 ----
    (let ((read-file-filter forms-read-file-filter)
        (write-file-filter forms-write-file-filter))
      (if read-file-filter
!       (with-current-buffer forms--file-buffer
          (let ((inhibit-read-only t)
                (file-modified (buffer-modified-p)))
            (run-hooks 'read-file-filter)
            (if (not file-modified) (set-buffer-modified-p nil)))
          (if write-file-filter
!             (add-hook 'write-file-functions write-file-filter nil t)))
        (if write-file-filter
!         (with-current-buffer forms--file-buffer
!           (add-hook 'write-file-functions write-file-filter nil t)))))
  
    ;; count the number of records, and set see if it may be modified
    (let (ro)
      (setq forms--total-records
!         (with-current-buffer forms--file-buffer
            (prog1
                (progn
                  ;;(message "forms: counting records...")
                  (bury-buffer (current-buffer))
                  (setq ro buffer-read-only)
                  (count-lines (point-min) (point-max)))
***************
*** 724,730 ****
  
    ;; user customising
    ;;(message "forms: proceeding setup (user hooks)...")
!   (run-hooks 'forms-mode-hooks)
    ;;(message "forms: setting up... done.")
  
    ;; be helpful
--- 718,724 ----
  
    ;; user customising
    ;;(message "forms: proceeding setup (user hooks)...")
!   (run-hooks 'forms-mode-hook 'forms-mode-hooks)
    ;;(message "forms: setting up... done.")
  
    ;; be helpful
***************
*** 757,763 ****
    (setq forms--elements (make-vector forms-number-of-fields nil))
  
    (let ((the-list forms-format-list)  ; the list of format elements
-       (this-item 0)                   ; element in list
        (prev-item nil)
        (field-num 0))                  ; highest field number
  
--- 751,756 ----
***************
*** 1226,1233 ****
        (let ((read-file-filter forms-read-file-filter)
              (the-record))
          (setq the-record
!               (save-excursion
!                 (set-buffer forms--file-buffer)
                  (let ((inhibit-read-only t))
                    (run-hooks 'read-file-filter))
                  (goto-char (point-min))
--- 1219,1225 ----
        (let ((read-file-filter forms-read-file-filter)
              (the-record))
          (setq the-record
!               (with-current-buffer forms--file-buffer
                  (let ((inhibit-read-only t))
                    (run-hooks 'read-file-filter))
                  (goto-char (point-min))
***************
*** 1238,1245 ****
          (kill-buffer forms--file-buffer)
  
          ;; Count the number of fields in `the-record'.
!         (let (the-result
!               (start-pos 0)
                found-pos
                (field-sep-length (length forms-field-sep)))
            (setq forms-number-of-fields 1)
--- 1230,1236 ----
          (kill-buffer forms--file-buffer)
  
          ;; Count the number of fields in `the-record'.
!         (let ((start-pos 0)
                found-pos
                (field-sep-length (length forms-field-sep)))
            (setq forms-number-of-fields 1)
***************
*** 1287,1293 ****
    (setq forms-mode-ro-map (make-keymap))
    (suppress-keymap forms-mode-ro-map)
    (define-key forms-mode-ro-map "\C-c" forms-mode-map)
-   (define-key forms-mode-ro-map "\t" 'forms-next-field)
    (define-key forms-mode-ro-map "q" 'forms-toggle-read-only)
    (define-key forms-mode-ro-map "l" 'forms-jump-record)
    (define-key forms-mode-ro-map "n" 'forms-next-record)
--- 1278,1283 ----
***************
*** 1304,1310 ****
  
    ;; This is the normal, local map.
    (setq forms-mode-edit-map (make-keymap))
-   (define-key forms-mode-edit-map "\t"   'forms-next-field)
    (define-key forms-mode-edit-map "\C-c" forms-mode-map)
    (forms--mode-commands1 forms-mode-edit-map)
    (forms--mode-menu-edit forms-mode-edit-map)
--- 1294,1299 ----
***************
*** 1405,1411 ****
  
  (defun forms--mode-commands1 (map)
    "Helper routine to define keys."
!   (define-key map [TAB] 'forms-next-field)
    (define-key map [S-tab] 'forms-prev-field)
    (define-key map [next] 'forms-next-record)
    (define-key map [prior] 'forms-prev-record)
--- 1394,1400 ----
  
  (defun forms--mode-commands1 (map)
    "Helper routine to define keys."
!   (define-key map "\t" 'forms-next-field)
    (define-key map [S-tab] 'forms-prev-field)
    (define-key map [next] 'forms-next-record)
    (define-key map [prior] 'forms-prev-record)
***************
*** 1455,1468 ****
    "Translate in SUBJ all chars ARG into char REP.  ARG and REP should
   be single-char strings."
    (let ((i 0)
-       (x (length subj))
        (re (regexp-quote arg))
        (k (string-to-char rep)))
      (while (setq i (string-match re subj i))
        (aset subj i k)
        (setq i (1+ i)))))
  
! (defun forms--exit (query &optional save)
    "Internal exit from forms mode function."
  
    (let ((buf (buffer-name forms--file-buffer)))
--- 1444,1456 ----
    "Translate in SUBJ all chars ARG into char REP.  ARG and REP should
   be single-char strings."
    (let ((i 0)
        (re (regexp-quote arg))
        (k (string-to-char rep)))
      (while (setq i (string-match re subj i))
        (aset subj i k)
        (setq i (1+ i)))))
  
! (defun forms--exit (&optional save)
    "Internal exit from forms mode function."
  
    (let ((buf (buffer-name forms--file-buffer)))
***************
*** 1470,1477 ****
      (if (and save
             (buffer-modified-p forms--file-buffer))
        (forms-save-buffer))
!     (save-excursion
!       (set-buffer forms--file-buffer)
        (delete-auto-save-file-if-necessary)
        (kill-buffer (current-buffer)))
      (if (get-buffer buf)      ; not killed???
--- 1458,1464 ----
      (if (and save
             (buffer-modified-p forms--file-buffer))
        (forms-save-buffer))
!     (with-current-buffer forms--file-buffer
        (delete-auto-save-file-if-necessary)
        (kill-buffer (current-buffer)))
      (if (get-buffer buf)      ; not killed???
***************
*** 1598,1609 ****
      (if (string-match "\n" the-record)
        (error "Multi-line fields in this record - update refused"))
  
!     (save-excursion
!       (set-buffer forms--file-buffer)
        ;; Use delete-region instead of kill-region, to avoid
        ;; adding junk to the kill-ring.
!       (delete-region (save-excursion (beginning-of-line) (point))
!                    (save-excursion (end-of-line) (point)))
        (insert the-record)
        (beginning-of-line))))
  
--- 1585,1594 ----
      (if (string-match "\n" the-record)
        (error "Multi-line fields in this record - update refused"))
  
!     (with-current-buffer forms--file-buffer
        ;; Use delete-region instead of kill-region, to avoid
        ;; adding junk to the kill-ring.
!       (delete-region (line-beginning-position) (line-end-position))
        (insert the-record)
        (beginning-of-line))))
  
***************
*** 1635,1649 ****
      (find-file-other-window fn)
      (or forms--mode-setup (forms-mode t))))
  
! (defun forms-exit (query)
    "Normal exit from Forms mode.  Modified buffers are saved."
!   (interactive "P")
!   (forms--exit query t))
  
! (defun forms-exit-no-save (query)
    "Exit from Forms mode without saving buffers."
!   (interactive "P")
!   (forms--exit query nil))
  
  ;;; Navigating commands
  
--- 1620,1634 ----
      (find-file-other-window fn)
      (or forms--mode-setup (forms-mode t))))
  
! (defun forms-exit ()
    "Normal exit from Forms mode.  Modified buffers are saved."
!   (interactive)
!   (forms--exit t))
  
! (defun forms-exit-no-save ()
    "Exit from Forms mode without saving buffers."
!   (interactive)
!   (forms--exit nil))
  
  ;;; Navigating commands
  
***************
*** 1657,1662 ****
--- 1642,1657 ----
    (interactive "P")
    (forms-jump-record (- forms--current-record (prefix-numeric-value arg)) t))
  
+ (defun forms--goto-record (rn &optional current)
+   "Goto record number RN.
+ If CURRENT is provided, it specifies the current record and can be used
+ to speed up access to RN.  Returns the number of records missing, if any."
+   (if current
+       (forward-line (- rn current))
+     ;; goto-line does not do what we want when the buffer is narrowed.
+     (goto-char (point-min))
+     (forward-line (1- rn))))
+ 
  (defun forms-jump-record (arg &optional relative)
    "Jump to a random record."
    (interactive "NRecord number: ")
***************
*** 1675,1699 ****
    (forms--checkmod)
  
    ;; Calculate displacement.
!   (let ((disp (- arg forms--current-record))
!       (cur forms--current-record))
  
      ;; `forms--show-record' needs it now.
      (setq forms--current-record arg)
  
      ;; Get the record and show it.
      (forms--show-record
!      (save-excursion
!        (set-buffer forms--file-buffer)
         (beginning-of-line)
  
         ;; Move, and adjust the amount if needed (shouldn't happen).
!        (if relative
!          (if (zerop disp)
!              nil
!            (setq cur (+ cur disp (- (forward-line disp)))))
!        (goto-char (point-min))
!        (setq cur (+ cur disp (- (forward-line (1- arg))))))
  
         (forms--get-record)))
  
--- 1670,1687 ----
    (forms--checkmod)
  
    ;; Calculate displacement.
!   (let ((cur forms--current-record))
  
      ;; `forms--show-record' needs it now.
      (setq forms--current-record arg)
  
      ;; Get the record and show it.
      (forms--show-record
!      (with-current-buffer forms--file-buffer
         (beginning-of-line)
  
         ;; Move, and adjust the amount if needed (shouldn't happen).
!        (setq cur (- arg (forms--goto-record arg (if relative cur))))
  
         (forms--get-record)))
  
***************
*** 1714,1721 ****
    (interactive)
    (let
        ((numrec
!       (save-excursion
!         (set-buffer forms--file-buffer)
          (count-lines (point-min) (point-max)))))
      (if (= numrec forms--total-records)
        nil
--- 1702,1708 ----
    (interactive)
    (let
        ((numrec
!       (with-current-buffer forms--file-buffer
          (count-lines (point-min) (point-max)))))
      (if (= numrec forms--total-records)
        nil
***************
*** 1740,1747 ****
  
        ;; Enable edit mode, if possible.
        (let ((ro forms-read-only))
!       (if (save-excursion
!             (set-buffer forms--file-buffer)
              buffer-read-only)
            (progn
              (setq forms-read-only t)
--- 1727,1733 ----
  
        ;; Enable edit mode, if possible.
        (let ((ro forms-read-only))
!       (if (with-current-buffer forms--file-buffer
              buffer-read-only)
            (progn
              (setq forms-read-only t)
***************
*** 1801,1810 ****
          the-list
          forms-field-sep))
  
!     (save-excursion
!       (set-buffer forms--file-buffer)
!       (goto-char (point-min))
!       (forward-line (1- ln))
        (open-line 1)
        (insert the-record)
        (beginning-of-line))
--- 1787,1794 ----
          the-list
          forms-field-sep))
  
!     (with-current-buffer forms--file-buffer
!       (forms--goto-record ln)
        (open-line 1)
        (insert the-record)
        (beginning-of-line))
***************
*** 1825,1834 ****
    (if (or arg
          (y-or-n-p "Really delete this record? "))
        (let ((ln forms--current-record))
!       (save-excursion
!         (set-buffer forms--file-buffer)
!         (goto-char (point-min))
!         (forward-line (1- ln))
          ;; Use delete-region instead of kill-region, to avoid
          ;; adding junk to the kill-ring.
          (delete-region (progn (beginning-of-line) (point))
--- 1809,1816 ----
    (if (or arg
          (y-or-n-p "Really delete this record? "))
        (let ((ln forms--current-record))
!       (with-current-buffer forms--file-buffer
!         (forms--goto-record ln)
          ;; Use delete-region instead of kill-region, to avoid
          ;; adding junk to the kill-ring.
          (delete-region (progn (beginning-of-line) (point))
***************
*** 1852,1861 ****
        (setq regexp forms--search-regexp))
    (forms--checkmod)
  
!   (let (the-line the-record here
!                (fld-sep forms-field-sep))
!     (save-excursion
!       (set-buffer forms--file-buffer)
        (end-of-line)
        (setq here (point))
        (if (or (re-search-forward regexp nil t)
--- 1834,1841 ----
        (setq regexp forms--search-regexp))
    (forms--checkmod)
  
!   (let (the-line the-record here)
!     (with-current-buffer forms--file-buffer
        (end-of-line)
        (setq here (point))
        (if (or (re-search-forward regexp nil t)
***************
*** 1888,1897 ****
        (setq regexp forms--search-regexp))
    (forms--checkmod)
  
!   (let (the-line the-record here
!                (fld-sep forms-field-sep))
!     (save-excursion
!       (set-buffer forms--file-buffer)
        (beginning-of-line)
        (setq here (point))
        (if (or (re-search-backward regexp nil t)
--- 1868,1875 ----
        (setq regexp forms--search-regexp))
    (forms--checkmod)
  
!   (let (the-line the-record here)
!     (with-current-buffer forms--file-buffer
        (beginning-of-line)
        (setq here (point))
        (if (or (re-search-backward regexp nil t)
***************
*** 1921,1930 ****
    (let ((write-file-filter forms-write-file-filter)
        (read-file-filter forms-read-file-filter)
        (cur forms--current-record))
!     (save-excursion
!       (set-buffer forms--file-buffer)
        (let ((inhibit-read-only t))
!       ;; Write file hooks are run via local-write-file-hooks.
        ;; (if write-file-filter
        ;;  (save-excursion
        ;;   (run-hooks 'write-file-filter)))
--- 1899,1907 ----
    (let ((write-file-filter forms-write-file-filter)
        (read-file-filter forms-read-file-filter)
        (cur forms--current-record))
!     (with-current-buffer forms--file-buffer
        (let ((inhibit-read-only t))
!       ;; Write file hooks are run via write-file-functions.
        ;; (if write-file-filter
        ;;  (save-excursion
        ;;   (run-hooks 'write-file-filter)))
***************
*** 2021,2036 ****
      (while (<= nb-record forms--total-records)
        (forms-jump-record nb-record)
        (setq record (buffer-string))
!       (save-excursion
!       (set-buffer (get-buffer-create "*forms-print*"))
        (goto-char (buffer-end 1))
        (insert record)
        (setq buffer-read-only nil)
        (if (< nb-record total-nb-records)
            (insert "\n\n")))
        (setq nb-record (1+ nb-record)))
!     (save-excursion
!       (set-buffer "*forms-print*")
        (print-buffer)
        (set-buffer-modified-p nil)
        (kill-buffer (current-buffer)))
--- 1998,2011 ----
      (while (<= nb-record forms--total-records)
        (forms-jump-record nb-record)
        (setq record (buffer-string))
!       (with-current-buffer (get-buffer-create "*forms-print*")
        (goto-char (buffer-end 1))
        (insert record)
        (setq buffer-read-only nil)
        (if (< nb-record total-nb-records)
            (insert "\n\n")))
        (setq nb-record (1+ nb-record)))
!     (with-current-buffer "*forms-print*"
        (print-buffer)
        (set-buffer-modified-p nil)
        (kill-buffer (current-buffer)))
***************
*** 2078,2088 ****
              (if (fboundp el)
                  (setq ret (concat ret (prin1-to-string (symbol-function el))
                                    "\n"))))))
!       (save-excursion
!         (set-buffer (get-buffer-create "*forms-mode debug*"))
          (if (zerop (buffer-size))
              (emacs-lisp-mode))
          (goto-char (point-max))
          (insert ret)))))
  
  ;;; forms.el ends here
--- 2053,2063 ----
              (if (fboundp el)
                  (setq ret (concat ret (prin1-to-string (symbol-function el))
                                    "\n"))))))
!       (with-current-buffer (get-buffer-create "*forms-mode debug*")
          (if (zerop (buffer-size))
              (emacs-lisp-mode))
          (goto-char (point-max))
          (insert ret)))))
  
+ ;;; arch-tag: 4a6695c7-d47a-4a21-809b-5cec7f8ec7a1
  ;;; forms.el ends here




reply via email to

[Prev in Thread] Current Thread [Next in Thread]