jv@mh.nl (Johan Vromans) (06/30/90)
This patch upgrades perl-descr.el 1.3 to 1.4. * added perl-mode-syntax-table (copied from perl-mode). This is copied from perl-mode.el by bill@ksr.com (Bill Mann). * added [ and whitespace to the list of post-symbol indicators (suggested by Sebastian Kremer <sk@thp.Uni-Koeln.DE>). He also suggests to add the following to your .emacs: (autoload 'describe-perl-symbol "perl-descr" nil t) (define-key help-map "p" 'describe-perl-symbol) * allow symbol guessing to work at end of file * corrected filename doc-file -> perl-doc-file to match the declaration (first signalled by mdb@ESD.3Com.COM (Mark D. Baushke)). *** perl-descr.el~ Sat Jun 30 00:54:18 1990 --- perl-descr.el Sat Jun 30 00:53:01 1990 *************** *** 1,1 ! ;; @(#)@ perl-descr.el 1.3 - describe-perl-symbol --- 1,1 ----- ! ;; @(#)@ perl-descr.el 1.4 - describe-perl-symbol *************** *** 9,14 (defvar perl-doc-file "~/elisp/perl-descr.txt" "*Where the documentation file can be found.") (defun perl-symbol-at-point () "Get the closest Perl symbol to point, but don't change your position. Has a preference for looking backward when not --- 9,38 ----- (defvar perl-doc-file "~/elisp/perl-descr.txt" "*Where the documentation file can be found.") + (defvar perl-mode-syntax-table nil + "Syntax table in use in perl-mode buffers.") + + (if perl-mode-syntax-table + () + (setq perl-mode-syntax-table (make-syntax-table (standard-syntax-table))) + (modify-syntax-entry ?\n ">" perl-mode-syntax-table) + (modify-syntax-entry ?# "<" perl-mode-syntax-table) + (modify-syntax-entry ?$ "/" perl-mode-syntax-table) + (modify-syntax-entry ?% "." perl-mode-syntax-table) + (modify-syntax-entry ?& "." perl-mode-syntax-table) + (modify-syntax-entry ?\' "\"" perl-mode-syntax-table) + (modify-syntax-entry ?* "." perl-mode-syntax-table) + (modify-syntax-entry ?+ "." perl-mode-syntax-table) + (modify-syntax-entry ?- "." perl-mode-syntax-table) + (modify-syntax-entry ?/ "." perl-mode-syntax-table) + (modify-syntax-entry ?< "." perl-mode-syntax-table) + (modify-syntax-entry ?= "." perl-mode-syntax-table) + (modify-syntax-entry ?> "." perl-mode-syntax-table) + (modify-syntax-entry ?\\ "\\" perl-mode-syntax-table) + (modify-syntax-entry ?` "\"" perl-mode-syntax-table) + (modify-syntax-entry ?| "." perl-mode-syntax-table) + ) + (defun perl-symbol-at-point () "Get the closest Perl symbol to point, but don't change your position. Has a preference for looking backward when not *************** *** 19,30 (save-excursion ;; first see if you're just past a symbol ! (if (looking-at "\\s-*[][{}()]+") ! (skip-chars-backward " \n\t\r({[]})") ! ! ;; else move forward one character, presumably either a \w or ! ;; a symbol ! (or (= (point) (point-max)) (forward-char 1))) (if (eql (aref perl-mode-syntax-table (preceding-char)) 2) --- 43,53 ----- (save-excursion ;; first see if you're just past a symbol ! (if (< (point) (point-max)) ! (if (looking-at "[] \t\n[{}()]") ! (skip-chars-backward " \n\t\r({[]})") ! ;; else move forward one character, presumably either a \w or ! ;; a symbol (forward-char 1))) (if (eql (aref perl-mode-syntax-table (preceding-char)) 2) *************** *** 70,83 (if (string= val "") (setq val fn)) ! (setq regexp (concat "^" (regexp-quote val) "[ \t(]")) ! (if (not (get-file-buffer doc-file)) (progn (setq args-file ! (find-file-noselect doc-file)) (set-buffer args-file) (rename-buffer "*PERL-DOC*") (setq buffer-read-only t))) ! (set-buffer (get-file-buffer doc-file)) (goto-char (point-min)) (list (if (re-search-forward regexp (point-max) t) (save-excursion --- 93,106 ----- (if (string= val "") (setq val fn)) ! (setq regexp (concat "^" (regexp-quote val) "[ \t([]")) ! (if (not (get-file-buffer perl-doc-file)) (progn (setq args-file ! (find-file-noselect perl-doc-file)) (set-buffer args-file) (rename-buffer "*PERL-DOC*") (setq buffer-read-only t))) ! (set-buffer (get-file-buffer perl-doc-file)) (goto-char (point-min)) (list (if (re-search-forward regexp (point-max) t) (save-excursion -- Johan Vromans jv@mh.nl via internet backbones Multihouse Automatisering bv uucp: ..!{uunet,hp4nl}!mh.nl!jv Doesburgweg 7, 2803 PL Gouda, The Netherlands phone/fax: +31 1820 62911/62500 ------------------------ "Arms are made for hugging" -------------------------