[Top][All Lists]
[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)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/thingatpt.el,
Miles Bader <=