emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs/lisp ChangeLog progmodes/cperl-mode.el


From: Glenn Morris
Subject: [Emacs-diffs] emacs/lisp ChangeLog progmodes/cperl-mode.el
Date: Sat, 22 Aug 2009 19:39:58 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       09/08/22 19:39:57

Modified files:
        lisp           : ChangeLog 
        lisp/progmodes : cperl-mode.el 

Log message:
        (cperl-imenu-name-and-position): Copy imenu-example--name-and-position
        function here for own use.
        (cperl-xsub-scan): Use cperl-imenu-name-and-position.
        (cperl-time-fontification): Use forward-line rather than goto-line.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15993&r2=1.15994
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/progmodes/cperl-mode.el?cvsroot=emacs&r1=1.115&r2=1.116

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15993
retrieving revision 1.15994
diff -u -b -r1.15993 -r1.15994
--- ChangeLog   22 Aug 2009 19:29:18 -0000      1.15993
+++ ChangeLog   22 Aug 2009 19:39:54 -0000      1.15994
@@ -1,5 +1,9 @@
 2009-08-22  Glenn Morris  <address@hidden>
 
+       * progmodes/cperl-mode.el (cperl-imenu-name-and-position):
+       Copy imenu-example--name-and-position function here for own use.
+       (cperl-xsub-scan): Use cperl-imenu-name-and-position.
+
        * bs.el (bs--redisplay):
        * cus-edit.el (custom-redraw):
        * ibuffer.el (ibuffer-bury-buffer):
@@ -13,6 +17,7 @@
        * progmodes/ada-mode.el (ada-compile-goto-error):
        * progmodes/ada-xref.el (ada-xref-find-in-modified-ali):
        (ebrowse-select-1st-to-9nth):
+       * progmodes/cperl-mode.el (cperl-time-fontification):
        * progmodes/ebrowse.el (ebrowse-toggle-file-name-display)
        * progmodes/gud.el (gud-display-line):
        (idlwave-shell-display-line):

Index: progmodes/cperl-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/progmodes/cperl-mode.el,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -b -r1.115 -r1.116
--- progmodes/cperl-mode.el     21 Aug 2009 15:09:45 -0000      1.115
+++ progmodes/cperl-mode.el     22 Aug 2009 19:39:56 -0000      1.116
@@ -6874,6 +6874,19 @@
        ;; Do not introduce variable if not needed, we check it!
        (set 'parse-sexp-lookup-properties t))))
 
+;; Copied from imenu-example--name-and-position.
+(defvar imenu-use-markers)
+
+(defun cperl-imenu-name-and-position ()
+  "Return the current/previous sexp and its (beginning) location.
+Does not move point."
+  (save-excursion
+    (forward-sexp -1)
+    (let ((beg (if imenu-use-markers (point-marker) (point)))
+         (end (progn (forward-sexp) (point))))
+      (cons (buffer-substring beg end)
+           beg))))
+
 (defun cperl-xsub-scan ()
   (require 'imenu)
   (let ((index-alist '())
@@ -6896,7 +6909,7 @@
         ((not package) nil)            ; C language section
         ((match-beginning 3)           ; XSUB
          (goto-char (1+ (match-beginning 3)))
-         (setq index (imenu-example--name-and-position))
+         (setq index (cperl-imenu-name-and-position))
          (setq name (buffer-substring (match-beginning 3) (match-end 3)))
          (if (and prefix (string-match (concat "^" prefix) name))
              (setq name (substring name (length prefix))))
@@ -6908,7 +6921,7 @@
          (push index index-alist))
         (t                             ; BOOT: section
          ;; (beginning-of-line)
-         (setq index (imenu-example--name-and-position))
+         (setq index (cperl-imenu-name-and-position))
          (setcar index (concat package "::BOOT:"))
          (push index index-alist)))))
     index-alist))
@@ -8758,7 +8771,8 @@
                             (let ((tt (current-time)))
                               (+ (* 1000 (nth 1 tt)) (/ (nth 2 tt) 1000))))))
         (tt (funcall timems)) (c 0) delta tot)
-    (goto-line l)
+    (goto-char (point-min))
+    (forward-line (1- l))
     (cperl-mode)
     (setq tot (- (- tt (setq tt (funcall timems)))))
     (message "cperl-mode at %s: %s" l tot)




reply via email to

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