emacs-devel
[Top][All Lists]
Advanced

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

interactive-p fix for table.el


From: Tak Ota
Subject: interactive-p fix for table.el
Date: Mon, 15 Nov 2004 10:43:10 -0800 (PST)

If the following patch looks OK someone please check it in.  Thanks in
advance.

-Tak


2004-11-15  Takaaki Ota  <address@hidden>

        * textmodes/table.el (table-recognize-cell): Use a newly added
        optional argument PROBE-CURRENT-CELL instead of calling
        interactive-p.
        (table-query-dimension): Use a newly added optional argument
        VERBOSE instead of calling interactive-p.
        (table-generate-source): Use called-interactively-p instead of
        interactive-p.
        (table-insert-sequence): Ditto.
        (table--warn-incompatibility): Ditto.


*** pure/emacs-21.3.50/lisp/textmodes/table.el  Thu Nov  4 07:00:34 2004
--- emacs-21.3.50/lisp/textmodes/table.el       Thu Nov 11 16:41:13 2004
***************
*** 5,11 ****
  ;; Keywords: wp, convenience
  ;; Author: Takaaki Ota <address@hidden>
  ;; Created: Sat Jul 08 2000 13:28:45 (PST)
! ;; Revised: Tue Jun 01 2004 11:36:39 (PDT)
  
  ;; This file is part of GNU Emacs.
  
--- 5,11 ----
  ;; Keywords: wp, convenience
  ;; Author: Takaaki Ota <address@hidden>
  ;; Created: Sat Jul 08 2000 13:28:45 (PST)
! ;; Revised: Thu Nov 11 2004 16:41:13 (PST)
  
  ;; This file is part of GNU Emacs.
  
***************
*** 2043,2059 ****
    (table-recognize-table -1))
  
  ;;;###autoload
! (defun table-recognize-cell (&optional force no-copy arg)
    "Recognize a table cell that contains current point.
  Probe the cell dimension and prepare the cell information.  The
! optional two arguments FORCE and NO-COPY are for internal use only and
! must not be specified.  When the optional numeric prefix argument ARG
! is negative the cell becomes inactive, meaning that the cell becomes
! plain text and loses all the table specific features."
!   (interactive "i\ni\np")
    (table--make-cell-map)
    (if (or force (not (memq (table--get-last-command) table-command-list)))
!       (let* ((cell (table--probe-cell (interactive-p)))
             (cache-buffer (get-buffer-create table-cache-buffer-name))
             (modified-flag (buffer-modified-p))
             (inhibit-read-only t))
--- 2043,2062 ----
    (table-recognize-table -1))
  
  ;;;###autoload
! (defun table-recognize-cell (&optional force no-copy arg probe-current-cell)
    "Recognize a table cell that contains current point.
  Probe the cell dimension and prepare the cell information.  The
! optional two arguments FORCE and NO-COPY are for internal use
! only and must not be specified.  When the optional numeric prefix
! argument ARG is negative the cell becomes inactive, meaning that
! the cell becomes plain text and loses all the table specific
! features.  If PROBE-CURRENT-CELL is non-nil (which is always,
! when called interactively), the cell at the current point is
! probed and flush the delayed tasks if necessary."
!   (interactive "i\ni\np\np")
    (table--make-cell-map)
    (if (or force (not (memq (table--get-last-command) table-command-list)))
!       (let* ((cell (table--probe-cell probe-current-cell))
             (cache-buffer (get-buffer-create table-cache-buffer-name))
             (modified-flag (buffer-modified-p))
             (inhibit-read-only t))
***************
*** 2947,2964 ****
    (table--update-cell-face))
  
  ;;;###autoload
! (defun table-query-dimension (&optional where)
    "Return the dimension of the current cell and the current table.
  The result is a list (cw ch tw th c r cells) where cw is the cell
! width, ch is the cell height, tw is the table width, th is the table
! height, c is the number of columns, r is the number of rows and cells
! is the total number of cells.  The cell dimension excludes the cell
! frame while the table dimension includes the table frame.  The columns
! and the rows are counted by the number of cell boundaries.  Therefore
! the number tends to be larger than it appears for the tables with
! non-uniform cell structure (heavily spanned and split).  When optional
! WHERE is provided the cell and table at that location is reported."
!   (interactive)
    (save-excursion
      (if where (goto-char where))
      (let ((starting-cell (table--probe-cell))
--- 2950,2971 ----
    (table--update-cell-face))
  
  ;;;###autoload
! (defun table-query-dimension (&optional where verbose)
    "Return the dimension of the current cell and the current table.
  The result is a list (cw ch tw th c r cells) where cw is the cell
! width, ch is the cell height, tw is the table width, th is the
! table height, c is the number of columns, r is the number of rows
! and cells is the total number of cells.  The cell dimension
! excludes the cell frame while the table dimension includes the
! table frame.  The columns and the rows are counted by the number
! of cell boundaries.  Therefore the number tends to be larger than
! it appears for the tables with non-uniform cell
! structure (heavily spanned and split).  When optional WHERE is
! provided the cell and table at that location is reported.  If
! VERBOSE is non-nil (which is always, when called interactively),
! prints the some messages including human friendly result in the
! minibuffer."
!   (interactive "P\np")
    (save-excursion
      (if where (goto-char where))
      (let ((starting-cell (table--probe-cell))
***************
*** 2968,2975 ****
        (setq table-rb (cdr starting-cell))
        (setq col-list (cons (car (table--get-coordinate (car starting-cell))) 
nil))
        (setq row-list (cons (cdr (table--get-coordinate (car starting-cell))) 
nil))
!       (and (interactive-p)
!            (message "Computing cell dimension..."))
        (while
            (progn
              (table-forward-cell 1 t)
--- 2975,2982 ----
        (setq table-rb (cdr starting-cell))
        (setq col-list (cons (car (table--get-coordinate (car starting-cell))) 
nil))
        (setq row-list (cons (cdr (table--get-coordinate (car starting-cell))) 
nil))
!       (if verbose
!           (message "Computing cell dimension..."))
        (while
            (progn
              (table-forward-cell 1 t)
***************
*** 2995,3002 ****
               (th (+ 3 (- (cdr table-rb-coordinate) (cdr 
table-lu-coordinate))))
               (c (length col-list))
               (r (length row-list)))
!         (and (interactive-p)
!              (message "Cell: (%dw, %dh), Table: (%dw, %dh), Dim: (%dc, %dr), 
Total Cells: %d" cw ch tw th c r cells))
          (list cw ch tw th c r cells))))))
  
  ;;;###autoload
--- 3002,3009 ----
               (th (+ 3 (- (cdr table-rb-coordinate) (cdr 
table-lu-coordinate))))
               (c (length col-list))
               (r (length row-list)))
!         (if verbose
!             (message "Cell: (%dw, %dh), Table: (%dw, %dh), Dim: (%dc, %dr), 
Total Cells: %d" cw ch tw th c r cells))
          (list cw ch tw th c r cells))))))
  
  ;;;###autoload
***************
*** 3040,3046 ****
        (read-buffer "Destination buffer: " (concat table-dest-buffer-name "." 
language))
        (table--read-from-minibuffer '("Table Caption" . 
table-source-caption-history)))))
    (let ((default-buffer-name (concat table-dest-buffer-name "." (symbol-name 
language))))
!     (unless (or (interactive-p) (table--probe-cell)) (error "Table not found 
here"))
      (unless (bufferp dest-buffer)
        (setq dest-buffer (get-buffer-create (or dest-buffer 
default-buffer-name))))
      (if (string= (buffer-name dest-buffer) default-buffer-name)
--- 3047,3053 ----
        (read-buffer "Destination buffer: " (concat table-dest-buffer-name "." 
language))
        (table--read-from-minibuffer '("Table Caption" . 
table-source-caption-history)))))
    (let ((default-buffer-name (concat table-dest-buffer-name "." (symbol-name 
language))))
!     (unless (or (called-interactively-p) (table--probe-cell)) (error "Table 
not found here"))
      (unless (bufferp dest-buffer)
        (setq dest-buffer (get-buffer-create (or dest-buffer 
default-buffer-name))))
      (if (string= (buffer-name dest-buffer) default-buffer-name)
***************
*** 3062,3068 ****
        (let ((wheel [?- ?\\ ?| ?/]))
          (while
              (progn
!               (if (interactive-p)
                    (progn
                      (message "Analyzing table...%c" (aref wheel i))
                      (if (eq (setq i (1+ i)) (length wheel))
--- 3069,3075 ----
        (let ((wheel [?- ?\\ ?| ?/]))
          (while
              (progn
!               (if (called-interactively-p)
                    (progn
                      (message "Analyzing table...%c" (aref wheel i))
                      (if (eq (setq i (1+ i)) (length wheel))
***************
*** 3099,3105 ****
        ;; insert closing
        (table--generate-source-epilogue dest-buffer language col-list 
row-list))
        ;; lastly do some convenience work
!       (if (interactive-p)
          (save-selected-window
            (pop-to-buffer dest-buffer t)
            (goto-char (point-min))
--- 3106,3112 ----
        ;; insert closing
        (table--generate-source-epilogue dest-buffer language col-list 
row-list))
        ;; lastly do some convenience work
!       (if (called-interactively-p)
          (save-selected-window
            (pop-to-buffer dest-buffer t)
            (goto-char (point-min))
***************
*** 3448,3456 ****
                                (format "Justify (default %s): " default)
                                '(("left") ("center") ("right"))
                                nil t nil 'table-sequence-justify-history 
default)))))))
!   (unless (or (interactive-p) (table--probe-cell)) (error "Table not found 
here"))
    (string-match "\\([0-9]*\\)\\([]})>]*\\)\\'" str)
!   (if (interactive-p)
        (message "Sequencing..."))
    (let* ((prefix (substring str 0 (match-beginning 1)))
         (index (match-string 1 str))
--- 3455,3463 ----
                                (format "Justify (default %s): " default)
                                '(("left") ("center") ("right"))
                                nil t nil 'table-sequence-justify-history 
default)))))))
!   (unless (or (called-interactively-p) (table--probe-cell)) (error "Table not 
found here"))
    (string-match "\\([0-9]*\\)\\([]})>]*\\)\\'" str)
!   (if (called-interactively-p)
        (message "Sequencing..."))
    (let* ((prefix (substring str 0 (match-beginning 1)))
         (index (match-string 1 str))
***************
*** 3498,3504 ****
               (setq cells (1- cells))
               (and (> n 0) (> cells 0)))))
      (table-recognize-cell 'force)
!     (if (interactive-p)
        (message "Sequencing...done"))
      ))
  
--- 3505,3511 ----
               (setq cells (1- cells))
               (and (> n 0) (> cells 0)))))
      (table-recognize-cell 'force)
!     (if (called-interactively-p)
        (message "Sequencing...done"))
      ))
  
***************
*** 5346,5352 ****
  This feature is disabled when `table-disable-incompatibility-warning'
  is non-nil.  The warning is done only once per session for each item."
    (unless (and table-disable-incompatibility-warning
!              (not (interactive-p)))
      (cond ((and (featurep 'xemacs)
                (not (get 'table-disable-incompatibility-warning 'xemacs)))
           (put 'table-disable-incompatibility-warning 'xemacs t)
--- 5353,5359 ----
  This feature is disabled when `table-disable-incompatibility-warning'
  is non-nil.  The warning is done only once per session for each item."
    (unless (and table-disable-incompatibility-warning
!              (not (called-interactively-p)))
      (cond ((and (featurep 'xemacs)
                (not (get 'table-disable-incompatibility-warning 'xemacs)))
           (put 'table-disable-incompatibility-warning 'xemacs t)




reply via email to

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