emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/thingatpt.el
Date: Fri, 04 Apr 2003 01:23:10 -0500

Index: emacs/lisp/thingatpt.el
diff -c emacs/lisp/thingatpt.el:1.31 emacs/lisp/thingatpt.el:1.32
*** emacs/lisp/thingatpt.el:1.31        Mon Jan 27 06:38:18 2003
--- emacs/lisp/thingatpt.el     Tue Feb  4 07:08:42 2003
***************
*** 32,42 ****
  ;; forward-"thing" operator (eg. forward-word, forward-line).
  ;;
  ;; Special cases are allowed for using properties associated with the named
! ;; "thing": 
  ;;
  ;;   forward-op               Function to call to skip forward over a "thing" 
(or
  ;;                      with a negative argument, backward).
! ;;                      
  ;;   beginning-op     Function to call to skip to the beginning of a "thing".
  ;;   end-op           Function to call to skip to the end of a "thing".
  ;;
--- 32,42 ----
  ;; forward-"thing" operator (eg. forward-word, forward-line).
  ;;
  ;; Special cases are allowed for using properties associated with the named
! ;; "thing":
  ;;
  ;;   forward-op               Function to call to skip forward over a "thing" 
(or
  ;;                      with a negative argument, backward).
! ;;
  ;;   beginning-op     Function to call to skip to the beginning of a "thing".
  ;;   end-op           Function to call to skip to the end of a "thing".
  ;;
***************
*** 80,93 ****
        (condition-case nil
          (save-excursion
            ;; Try moving forward, then back.
!           (let ((end (progn 
!                        (funcall 
!                         (or (get thing 'end-op) 
                              (function (lambda () (forward-thing thing 1)))))
                         (point)))
!                 (beg (progn 
!                        (funcall 
!                         (or (get thing 'beginning-op) 
                              (function (lambda () (forward-thing thing -1)))))
                         (point))))
              (if (not (and beg (> beg orig)))
--- 80,93 ----
        (condition-case nil
          (save-excursion
            ;; Try moving forward, then back.
!           (let ((end (progn
!                        (funcall
!                         (or (get thing 'end-op)
                              (function (lambda () (forward-thing thing 1)))))
                         (point)))
!                 (beg (progn
!                        (funcall
!                         (or (get thing 'beginning-op)
                              (function (lambda () (forward-thing thing -1)))))
                         (point))))
              (if (not (and beg (> beg orig)))
***************
*** 95,103 ****
                  ;; it worked.  But END may not be the real end.
                  ;; So find the real end that corresponds to BEG.
                  (let ((real-end
!                        (progn 
!                          (funcall 
!                           (or (get thing 'end-op) 
                                (function (lambda () (forward-thing thing 1)))))
                           (point))))
                    (if (and beg real-end (<= beg orig) (<= orig real-end))
--- 95,103 ----
                  ;; it worked.  But END may not be the real end.
                  ;; So find the real end that corresponds to BEG.
                  (let ((real-end
!                        (progn
!                          (funcall
!                           (or (get thing 'end-op)
                                (function (lambda () (forward-thing thing 1)))))
                           (point))))
                    (if (and beg real-end (<= beg orig) (<= orig real-end))
***************
*** 105,124 ****
                (goto-char orig)
                ;; Try a second time, moving backward first and then forward,
                ;; so that we can find a thing that ends at ORIG.
!               (let ((beg (progn 
!                            (funcall 
!                             (or (get thing 'beginning-op) 
                                  (function (lambda () (forward-thing thing 
-1)))))
                             (point)))
!                     (end (progn 
!                            (funcall 
!                             (or (get thing 'end-op) 
                                  (function (lambda () (forward-thing thing 
1)))))
                             (point)))
                      (real-beg
!                      (progn 
!                        (funcall 
!                         (or (get thing 'beginning-op) 
                              (function (lambda () (forward-thing thing -1)))))
                         (point))))
                  (if (and real-beg end (<= real-beg orig) (<= orig end))
--- 105,124 ----
                (goto-char orig)
                ;; Try a second time, moving backward first and then forward,
                ;; so that we can find a thing that ends at ORIG.
!               (let ((beg (progn
!                            (funcall
!                             (or (get thing 'beginning-op)
                                  (function (lambda () (forward-thing thing 
-1)))))
                             (point)))
!                     (end (progn
!                            (funcall
!                             (or (get thing 'end-op)
                                  (function (lambda () (forward-thing thing 
1)))))
                             (point)))
                      (real-beg
!                      (progn
!                        (funcall
!                         (or (get thing 'beginning-op)
                              (function (lambda () (forward-thing thing -1)))))
                         (point))))
                  (if (and real-beg end (<= real-beg orig) (<= orig end))
***************
*** 137,143 ****
    (if (get thing 'thing-at-point)
        (funcall (get thing 'thing-at-point))
      (let ((bounds (bounds-of-thing-at-point thing)))
!       (if bounds 
          (buffer-substring (car bounds) (cdr bounds))))))
  
  ;; Go to beginning/end
--- 137,143 ----
    (if (get thing 'thing-at-point)
        (funcall (get thing 'thing-at-point))
      (let ((bounds (bounds-of-thing-at-point thing)))
!       (if bounds
          (buffer-substring (car bounds) (cdr bounds))))))
  
  ;; Go to beginning/end
***************
*** 152,160 ****
      (or bounds (error "No %s here" thing))
      (goto-char (cdr bounds))))
  
! ;;  Special cases 
  
! ;;  Lines 
  
  ;; bolp will be false when you click on the last line in the buffer
  ;; and it has no final newline.
--- 152,160 ----
      (or bounds (error "No %s here" thing))
      (goto-char (cdr bounds))))
  
! ;;  Special cases
  
! ;;  Lines
  
  ;; bolp will be false when you click on the last line in the buffer
  ;; and it has no final newline.
***************
*** 162,168 ****
  (put 'line 'beginning-op
       (function (lambda () (if (bolp) (forward-line -1) (beginning-of-line)))))
  
! ;;  Sexps 
  
  (defun in-string-p ()
    (let ((orig (point)))
--- 162,168 ----
  (put 'line 'beginning-op
       (function (lambda () (if (bolp) (forward-line -1) (beginning-of-line)))))
  
! ;;  Sexps
  
  (defun in-string-p ()
    (let ((orig (point)))
***************
*** 188,194 ****
  
  (put 'sexp 'beginning-op 'beginning-of-sexp)
  
! ;;  Lists 
  
  (put 'list 'end-op (function (lambda () (up-list 1))))
  (put 'list 'beginning-op 'backward-sexp)
--- 188,194 ----
  
  (put 'sexp 'beginning-op 'beginning-of-sexp)
  
! ;;  Lists
  
  (put 'list 'end-op (function (lambda () (up-list 1))))
  (put 'list 'beginning-op 'backward-sexp)
***************
*** 198,204 ****
  (defvar thing-at-point-file-name-chars "-~/[:alnum:]_.${}#%,:"
    "Characters allowable in filenames.")
  
! (put 'filename 'end-op    
       (lambda ()
         (re-search-forward (concat "\\=[" thing-at-point-file-name-chars "]*")
                          nil t)))
--- 198,204 ----
  (defvar thing-at-point-file-name-chars "-~/[:alnum:]_.${}#%,:"
    "Characters allowable in filenames.")
  
! (put 'filename 'end-op
       (lambda ()
         (re-search-forward (concat "\\=[" thing-at-point-file-name-chars "]*")
                          nil t)))
***************
*** 339,349 ****
                       (goto-char (car bounds))
                     (error "No URL here"))))))
  
! ;;  Whitespace 
  
  (defun forward-whitespace (arg)
    (interactive "p")
!   (if (natnump arg) 
        (re-search-forward "[ \t]+\\|\n" nil 'move arg)
      (while (< arg 0)
        (if (re-search-backward "[ \t]+\\|\n" nil 'move)
--- 339,349 ----
                       (goto-char (car bounds))
                     (error "No URL here"))))))
  
! ;;  Whitespace
  
  (defun forward-whitespace (arg)
    (interactive "p")
!   (if (natnump arg)
        (re-search-forward "[ \t]+\\|\n" nil 'move arg)
      (while (< arg 0)
        (if (re-search-backward "[ \t]+\\|\n" nil 'move)
***************
*** 351,385 ****
              (skip-chars-backward " \t")))
        (setq arg (1+ arg)))))
  
! ;;  Buffer 
  
  (put 'buffer 'end-op (lambda () (goto-char (point-max))))
  (put 'buffer 'beginning-op (lambda () (goto-char (point-min))))
  
! ;;  Symbols 
  
  (defun forward-symbol (arg)
    (interactive "p")
!   (if (natnump arg) 
        (re-search-forward "\\(\\sw\\|\\s_\\)+" nil 'move arg)
      (while (< arg 0)
        (if (re-search-backward "\\(\\sw\\|\\s_\\)+" nil 'move)
          (skip-syntax-backward "w_"))
        (setq arg (1+ arg)))))
  
! ;;  Syntax blocks 
  
  (defun forward-same-syntax (&optional arg)
    (interactive "p")
    (while (< arg 0)
!     (skip-syntax-backward 
       (char-to-string (char-syntax (char-after (1- (point))))))
      (setq arg (1+ arg)))
    (while (> arg 0)
      (skip-syntax-forward (char-to-string (char-syntax (char-after (point)))))
      (setq arg (1- arg))))
  
! ;;  Aliases 
  
  (defun word-at-point () (thing-at-point 'word))
  (defun sentence-at-point () (thing-at-point 'sentence))
--- 351,385 ----
              (skip-chars-backward " \t")))
        (setq arg (1+ arg)))))
  
! ;;  Buffer
  
  (put 'buffer 'end-op (lambda () (goto-char (point-max))))
  (put 'buffer 'beginning-op (lambda () (goto-char (point-min))))
  
! ;;  Symbols
  
  (defun forward-symbol (arg)
    (interactive "p")
!   (if (natnump arg)
        (re-search-forward "\\(\\sw\\|\\s_\\)+" nil 'move arg)
      (while (< arg 0)
        (if (re-search-backward "\\(\\sw\\|\\s_\\)+" nil 'move)
          (skip-syntax-backward "w_"))
        (setq arg (1+ arg)))))
  
! ;;  Syntax blocks
  
  (defun forward-same-syntax (&optional arg)
    (interactive "p")
    (while (< arg 0)
!     (skip-syntax-backward
       (char-to-string (char-syntax (char-after (1- (point))))))
      (setq arg (1+ arg)))
    (while (> arg 0)
      (skip-syntax-forward (char-to-string (char-syntax (char-after (point)))))
      (setq arg (1- arg))))
  
! ;;  Aliases
  
  (defun word-at-point () (thing-at-point 'word))
  (defun sentence-at-point () (thing-at-point 'sentence))
***************
*** 388,394 ****
    "Read a lisp expression from STR.
  Signal an error if the entire string was not used."
    (let* ((read-data (read-from-string str))
!        (more-left 
          (condition-case nil
              ;; The call to `ignore' suppresses a compiler warning.
              (progn (ignore (read-from-string (substring str (cdr read-data))))
--- 388,394 ----
    "Read a lisp expression from STR.
  Signal an error if the entire string was not used."
    (let* ((read-data (read-from-string str))
!        (more-left
          (condition-case nil
              ;; The call to `ignore' suppresses a compiler warning.
              (progn (ignore (read-from-string (substring str (cdr read-data))))
***************
*** 398,405 ****
        (error "Can't read whole string")
        (car read-data))))
  
! (defun form-at-point (&optional thing pred) 
!   (let ((sexp (condition-case nil 
                  (read-from-whole-string (thing-at-point (or thing 'sexp)))
                (error nil))))
      (if (or (not pred) (funcall pred sexp)) sexp)))
--- 398,405 ----
        (error "Can't read whole string")
        (car read-data))))
  
! (defun form-at-point (&optional thing pred)
!   (let ((sexp (condition-case nil
                  (read-from-whole-string (thing-at-point (or thing 'sexp)))
                (error nil))))
      (if (or (not pred) (funcall pred sexp)) sexp)))




reply via email to

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