File: fix-structref.el

package info (click to toggle)
gcl 2.6.14-21
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 60,864 kB
  • sloc: ansic: 177,407; lisp: 151,509; asm: 128,169; sh: 22,510; cpp: 11,923; tcl: 3,181; perl: 2,930; makefile: 2,360; sed: 334; yacc: 226; lex: 95; awk: 30; fortran: 24; csh: 23
file content (17 lines) | stat: -rwxr-xr-x 591 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(defun fix-struct-ref ()
  (interactive)
  (while (re-search-forward "->\\([a-z]+\\)+[.]\\([A-Z][a-zA-Z]+\\)")
    (sit-for 0)
    (cond ((y-or-n-p "do it?")
	   (downcase-region (match-beginning 2) (match-end 2))
	   (let ((xx (buffer-substring  (match-beginning 2) (match-end 2)))
		 (tem (buffer-substring (match-beginning 1) (match-end 1))))
	     (delete-region (match-beginning 2) (match-end 2))
	     (goto-char (match-beginning 2))
	     (insert tem "_")
	     (let ((u (assoc xx '(("bind" . "dbind")
				  ("body" . "self")
				  ))))
	       (insert (or (cdr u) xx))))))))