comparison lisp/hm--html-menus/hm--html.el @ 2:ac2d302a0011 r19-15b2

Import from CVS: tag r19-15b2
author cvs
date Mon, 13 Aug 2007 08:46:35 +0200
parents 376386a54a3c
children 8fc7fe29b841
comparison
equal deleted inserted replaced
1:c0c6a60d29db 2:ac2d302a0011
1 ;;; hm--html.el: 1 ;;; $Id: hm--html.el,v 1.1.1.2 1996/12/18 03:46:47 steve Exp $
2 ;;; v6.00; 17 Feb 1996 2 ;;;
3 ;;; Copyright (C) 1993, 1994, 1995, 1996 Heiko Muenkel 3 ;;; Copyright (C) 1993, 1994, 1995, 1996 Heiko Muenkel
4 ;;; email: muenkel@tnt.uni-hannover.de 4 ;;; email: muenkel@tnt.uni-hannover.de
5 ;;; 5 ;;;
6 ;;; This program is free software; you can redistribute it and/or modify 6 ;;; This program is free software; you can redistribute it and/or modify
7 ;;; it under the terms of the GNU General Public License as published by 7 ;;; it under the terms of the GNU General Public License as published by
25 ;;; Installation: 25 ;;; Installation:
26 ;;; 26 ;;;
27 ;;; Put this file in one of your load path directories. 27 ;;; Put this file in one of your load path directories.
28 ;;; 28 ;;;
29 29
30 30 ;(require 'hm--date)
31 31 ;(require 'adapt)
32 (provide 'hm--html)
33 (require 'hm--date)
34 (require 'adapt)
35 32
36 33
37 (defconst hm--html-menus-package-maintainer "muenkel@tnt.uni-hannover.de") 34 ;;; Indentation
38 35
39 (defconst hm--html-menus-package-name "hm--html-menus") 36 (defun hm--html-indent-region (begin end)
40 37 "Indents the region between BEGIN and END according to the major mode."
41 (defconst hm--html-menus-package-version "4.16") 38 (when (< end begin)
42 39 (let ((a end))
40 (setq end start)
41 (setq start a)))
42 (save-excursion
43 (goto-char begin)
44 (let ((old-point))
45 (while (and (<= (point) end)
46 (not (eq (point) old-point)))
47 (setq old-point (point))
48 (indent-according-to-mode)
49 (forward-line)
50 ))))
51
43 52
44 ;;; Functions for adding html commands which consists of a start and a 53 ;;; Functions for adding html commands which consists of a start and a
45 ;;; end tag and some text between them. (Basicfunctions) 54 ;;; end tag and some text between them. (Basicfunctions)
46 55
47 (defun hm--html-add-tags (function-insert-start-tag 56 (defun hm--html-add-tags (function-insert-start-tag
48 start-tag 57 start-tag
49 &optional function-insert-end-tag 58 &optional
50 &optional end-tag 59 function-insert-end-tag
51 &optional function-insert-middle-tag 60 end-tag
52 &optional middle-tag) 61 function-insert-middle-start-tag
62 middle-start-tag
63 function-insert-middle-end-tag
64 middle-end-tag)
53 "Adds the start and the end html tag at point. 65 "Adds the start and the end html tag at point.
54 The first parameter specifies the funtion which insert the start tag 66 The first parameter specifies the funtion which insert the start tag
55 and the third parameter specifies the function which insert the end tag. 67 and the third parameter specifies the function which insert the end tag.
56 The second parameter is the string for the start tag and the fourth parameter 68 The second parameter is the string for the start tag and the fourth parameter
57 is the string for the end tag. The third and fourth parameters are optional. 69 is the string for the end tag. The third and fourth parameters are optional.
58 The fifth parameter is optional. If it exists, it specifies a function which 70 The fifth parameter is optional. If it exists, it specifies a function which
59 inserts the sixth parameter (the middle-tag) between the start and the end 71 inserts the sixth parameter (the middle-start-tag) between the start and the end
60 tag." 72 tag."
61 ; (interactive "aFunction, which adds the HTML start tag: \n\ 73 ; (interactive "aFunction, which adds the HTML start tag: \n\
62 ;aFunction, which adds the HTML end tag: \n\ 74 ;aFunction, which adds the HTML end tag: \n\
63 ;sThe HTML start tag: \n\ 75 ;sThe HTML start tag: \n\
64 ;sThe HTML end tag: ") 76 ;sThe HTML end tag: ")
65 (eval (list function-insert-start-tag start-tag)) 77 (eval (list function-insert-start-tag start-tag))
66 (if function-insert-middle-tag 78 (if function-insert-middle-start-tag
67 (eval (list function-insert-middle-tag middle-tag))) 79 (eval (list function-insert-middle-start-tag middle-start-tag)))
68 (if function-insert-end-tag 80 (let ((position (point)))
69 (let ((position (point))) 81 (if function-insert-middle-end-tag
70 (eval (list function-insert-end-tag end-tag)) 82 (eval (list function-insert-middle-end-tag middle-end-tag)))
71 (goto-char position)))) 83 (if function-insert-end-tag
84 (eval (list function-insert-end-tag end-tag)))
85 (goto-char position)))
72 86
73 87
74 (defun hm--html-add-tags-to-region (function-insert-start-tag 88 (defun hm--html-add-tags-to-region (function-insert-start-tag
75 start-tag 89 start-tag
76 function-insert-end-tag 90 function-insert-end-tag
104 (defun hm--html-insert-start-tag (tag) 118 (defun hm--html-insert-start-tag (tag)
105 "Inserts the HTML start tag 'tag' without a Newline. 119 "Inserts the HTML start tag 'tag' without a Newline.
106 The parameter must be a string (i.e. \"<B>\")" 120 The parameter must be a string (i.e. \"<B>\")"
107 (let ((start (point))) 121 (let ((start (point)))
108 (insert tag) 122 (insert tag)
109 (html-maybe-deemphasize-region start (- (point) 1)))) 123 (hm--html-indent-region start (point))))
124 ; (html-maybe-deemphasize-region start (- (point) 1))))
110 125
111 126
112 (defun hm--html-insert-end-tag (tag) 127 (defun hm--html-insert-end-tag (tag)
113 "Inserts the HTML end tag 'tag' without a Newline. 128 "Inserts the HTML end tag 'tag' without a Newline.
114 The parameter must be a string (i.e. \"</B>\")" 129 The parameter must be a string (i.e. \"</B>\")"
115 (let ((start (point))) 130 (let ((start (point)))
116 (insert tag) 131 (insert tag)
117 (html-maybe-deemphasize-region start (- (point) 1)))) 132 (hm--html-indent-region start (point))))
133 ; (html-maybe-deemphasize-region start (- (point) 1))))
118 134
119 135
120 (defun hm--html-insert-start-tag-with-newline (tag) 136 (defun hm--html-insert-start-tag-with-newline (tag)
121 "Inserts the HTML start tag 'tag' with a Newline. 137 "Inserts the HTML start tag 'tag' with a Newline.
122 The parameter must be a string (i.e. \"<PRE>\")" 138 The parameter must be a string (i.e. \"<PRE>\")"
123 (let ((start (point))) 139 (let ((start (point)))
124 (insert tag) 140 (insert tag)
125 (html-maybe-deemphasize-region start (- (point) 1))) 141 (hm--html-indent-region start (point))
142 )
143 ; (html-maybe-deemphasize-region start (- (point) 1)))
126 (insert "\n")) 144 (insert "\n"))
127 145
128 146
129 (defun hm--html-insert-end-tag-with-newline (tag) 147 (defun hm--html-insert-end-tag-with-newline (tag)
130 "Inserts the HTML end tag 'tag' with a Newline. 148 "Inserts the HTML end tag 'tag' with a Newline.
131 The parameter must be a string (i.e. \"</PRE>\")" 149 The parameter must be a string (i.e. \"</PRE>\")"
132 (insert "\n") 150 (insert "\n")
133 (let ((start (point))) 151 (let ((start (point)))
134 (insert tag) 152 (insert tag)
135 (html-maybe-deemphasize-region start (- (point) 1)))) 153 (hm--html-indent-region start (point))))
154 ; (html-maybe-deemphasize-region start (- (point) 1))))
136 155
137 156
138 157
139 ;;; Functions which add simple tags of the form <tag> 158 ;;; Functions which add simple tags of the form <tag>
159
160 (defun hm--html-add-list-or-menu-item-separator ()
161 "Adds a list or menu item. Assume we're at the end of the last item."
162 (interactive)
163 (hm--html-add-tags 'hm--html-insert-end-tag-with-newline "<LI> "))
164
165 (defun hm--html-add-list-or-menu-item ()
166 "Adds the tags for a menu item at the point in the current buffer."
167 (interactive)
168 (hm--html-add-tags 'hm--html-insert-end-tag-with-newline "<LI> "
169 'hm--html-insert-end-tag " </LI>"))
170
171 (defun hm--html-add-list-or-menu-item-to-region ()
172 "Adds the tags for a menu item to the region in the current buffer."
173 (interactive)
174 (hm--html-add-tags-to-region 'hm--html-insert-start-tag "<LI> "
175 'hm--html-insert-end-tag " </LI>"))
140 176
141 (defun hm--html-add-line-break () 177 (defun hm--html-add-line-break ()
142 "Adds the HTML tag for a line break." 178 "Adds the HTML tag for a line break."
143 (interactive) 179 (interactive)
144 (hm--html-add-tags 'hm--html-insert-start-tag "<BR>")) 180 (hm--html-add-tags 'hm--html-insert-start-tag "<BR>"))
253 289
254 (defun hm--html-add-image-bottom (href alt) 290 (defun hm--html-add-image-bottom (href alt)
255 "Add an image, bottom aligned." 291 "Add an image, bottom aligned."
256 (interactive (let ((url (hm--html-read-url "Image URL: "))) 292 (interactive (let ((url (hm--html-read-url "Image URL: ")))
257 (list url (hm--html-read-altenate url)))) 293 (list url (hm--html-read-altenate url))))
258 (let ((start (point))) 294 (hm--html-add-tags
259 (if alt 295 'hm--html-insert-start-tag
260 (insert "<IMG ALIGN=BOTTOM SRC=\"" href "\" ALT=\"" alt "\">") 296 (concat "<IMG ALIGN=BOTTOM SRC=\""
261 (insert "<IMG ALIGN=BOTTOM SRC=\"" href "\">")) 297 href
262 (html-maybe-deemphasize-region (1+ start) (1- (point))))) 298 (when alt
299 (concat "\" ALT=\"" alt))
300 "\">")))
263 301
264 302
265 (defun hm--html-add-image-middle (href alt) 303 (defun hm--html-add-image-middle (href alt)
266 "Add an image, middle aligned." 304 "Add an image, middle aligned."
267 (interactive (let ((url (hm--html-read-url "Image URL: "))) 305 (interactive (let ((url (hm--html-read-url "Image URL: ")))
268 (list url (hm--html-read-altenate url)))) 306 (list url (hm--html-read-altenate url))))
269 (let ((start (point))) 307 (hm--html-add-tags
270 (if alt 308 'hm--html-insert-start-tag
271 (insert "<IMG ALIGN=MIDDLE SRC=\"" href "\" ALT=\"" alt "\">") 309 (concat "<IMG ALIGN=MIDDLE SRC=\""
272 (insert "<IMG ALIGN=MIDDLE SRC=\"" href "\">")) 310 href
273 (html-maybe-deemphasize-region (1+ start) (1- (point))))) 311 (when alt
312 (concat "\" ALT=\"" alt))
313 "\">")))
274 314
275 315
276 (defun hm--html-add-image-top (href alt) 316 (defun hm--html-add-image-top (href alt)
277 "Add an image, top aligned." 317 "Add an image, top aligned."
278 (interactive (let ((url (hm--html-read-url "Image URL: "))) 318 (interactive (let ((url (hm--html-read-url "Image URL: ")))
279 (list url (hm--html-read-altenate url)))) 319 (list url (hm--html-read-altenate url))))
280 (let ((start (point))) 320 (hm--html-add-tags
281 (if alt 321 'hm--html-insert-start-tag
282 (insert "<IMG ALIGN=TOP SRC=\"" href "\" ALT=\"" alt "\">") 322 (concat "<IMG ALIGN=TOP SRC=\""
283 (insert "<IMG ALIGN=TOP SRC=\"" href "\">")) 323 href
284 (html-maybe-deemphasize-region (1+ start) (1- (point))))) 324 (when alt
285 325 (concat "\" ALT=\"" alt))
326 "\">")))
327
328
329 (defun hm--html-add-applet (name code width height)
330 "Add an applet."
331 (interactive (let ((name (read-string "Applet Name: " "applet"))
332 (code (read-file-name "Applet Class File: "))
333 (width (read-number "Width (i.e.: 100): " t))
334 (height (read-number "Height (i.e.: 100): " t)))
335 (list name code width height)))
336 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
337 (concat "<APPLET "
338 (if (string= name "")
339 ""
340 (concat "NAME=\"" name "\"\n"))
341 "CODE=\""
342 code
343 "\"\n"
344 "WIDTH=\""
345 width
346 "\"\n"
347 "HEIGHT=\""
348 height
349 "\">")
350 'hm--html-insert-start-tag-with-newline
351 "</APPLET>"))
352
353 (defun hm--html-add-applet-parameter (name value)
354 "Adds the tag for an applet parameter at the current point.
355 This tag must be added between <APPLET> and </APPLET>."
356 (interactive "sParameter Name: \nsParameter Value: ")
357 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
358 (concat "<PARAM "
359 "NAME=\""
360 name
361 "\" VALUE=\""
362 value
363 "\">")))
364
286 365
287 (defun hm--html-add-server-side-include-file (file) 366 (defun hm--html-add-server-side-include-file (file)
288 "This function adds a server side include file directive in the buffer. 367 "This function adds a server side include file directive in the buffer.
289 The directive is only supported by the NCSA http daemon." 368 The directive is only supported by the NCSA http daemon."
290 (interactive "FInclude File: ") 369 (interactive "FInclude File: ")
291 (let ((start (point))) 370 (let ((start (point)))
292 (if (string= file "") 371 (if (string= file "")
293 (error "ERROR: No filename specified !") 372 (error "ERROR: No filename specified !")
294 (insert "<INC SRV \"" file "\">") 373 (insert "<INC SRV \"" file "\">"))))
295 (html-maybe-deemphasize-region (1+ start) (1- (point)))))) 374 ; (html-maybe-deemphasize-region (1+ start) (1- (point))))))
296 375
297 376
298 (defun hm--html-add-server-side-include-command-with-isindex-parameter 377 (defun hm--html-add-server-side-include-command-with-isindex-parameter
299 (command) 378 (command)
300 "This function adds a server side include command directive in the buffer. 379 "This function adds a server side include command directive in the buffer.
318 (attribute (if srvurl "SRVURL" "SRV"))) 397 (attribute (if srvurl "SRVURL" "SRV")))
319 (if (string= command "") 398 (if (string= command "")
320 (error "ERROR: No command specified !") 399 (error "ERROR: No command specified !")
321 (if (= ?| (string-to-char command)) 400 (if (= ?| (string-to-char command))
322 (insert "<INC " attribute" \"" command "\">") 401 (insert "<INC " attribute" \"" command "\">")
323 (insert "<INC " attribute " \"|" command "\">") 402 (insert "<INC " attribute " \"|" command "\">")))))
324 (html-maybe-deemphasize-region (1+ start) (1- (point))))))) 403 ; (html-maybe-deemphasize-region (1+ start) (1- (point)))))))
325 404
326 405
327 ;(defun hm--html-add-server-side-include-command-with-parameter (command 406 ;(defun hm--html-add-server-side-include-command-with-parameter (command
328 ; parameter) 407 ; parameter)
329 ; "This function adds a server side include command directive in the buffer. 408 ; "This function adds a server side include command directive in the buffer.
349 428
350 429
351 430
352 ;;; Functions, which adds tags of the form <starttag> ... </endtag> 431 ;;; Functions, which adds tags of the form <starttag> ... </endtag>
353 432
433 (defun hm--html-add-big ()
434 "Adds the HTML tags for Big at the point in the current buffer."
435 (interactive)
436 (hm--html-add-tags 'hm--html-insert-start-tag
437 "<BIG>"
438 'hm--html-insert-end-tag
439 "</BIG>"))
440
441
442 (defun hm--html-add-big-to-region ()
443 "Adds the HTML tags for Big to the region."
444 (interactive)
445 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
446 "<BIG>"
447 'hm--html-insert-end-tag
448 "</BIG>"))
449
450
451 (defun hm--html-add-small ()
452 "Adds the HTML tags for Small at the point in the current buffer."
453 (interactive)
454 (hm--html-add-tags 'hm--html-insert-start-tag
455 "<SMALL>"
456 'hm--html-insert-end-tag
457 "</SMALL>"))
458
459
460 (defun hm--html-add-small-to-region ()
461 "Adds the HTML tags for Small to the region."
462 (interactive)
463 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
464 "<SMALL>"
465 'hm--html-insert-end-tag
466 "</SMALL>"))
467
468
354 (defun hm--html-add-bold () 469 (defun hm--html-add-bold ()
355 "Adds the HTML tags for Bold at the point in the current buffer." 470 "Adds the HTML tags for Bold at the point in the current buffer."
356 (interactive) 471 (interactive)
357 (hm--html-add-tags 'hm--html-insert-start-tag 472 (hm--html-add-tags 'hm--html-insert-start-tag
358 "<B>" 473 "<B>"
439 "<CODE>" 554 "<CODE>"
440 'hm--html-insert-end-tag 555 'hm--html-insert-end-tag
441 "</CODE>")) 556 "</CODE>"))
442 557
443 558
559 (defun hm--html-add-citation ()
560 "Adds the HTML tags for Citation."
561 (interactive)
562 (hm--html-add-tags 'hm--html-insert-start-tag
563 "<CITE>"
564 'hm--html-insert-end-tag
565 "</CITE>"))
566
444 (defun hm--html-add-citation-to-region () 567 (defun hm--html-add-citation-to-region ()
445 "Adds the HTML tags for Citation to the region." 568 "Adds the HTML tags for Citation to the region."
446 (interactive) 569 (interactive)
447 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 570 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
448 "<CITE>" 571 "<CITE>"
449 'hm--html-insert-end-tag 572 'hm--html-insert-end-tag
450 "</CITE>")) 573 "</CITE>"))
451 574
452 575
576 (defun hm--html-add-emphasized ()
577 "Adds the HTML tags for Emphasized."
578 (interactive)
579 (hm--html-add-tags 'hm--html-insert-start-tag
580 "<EM>"
581 'hm--html-insert-end-tag
582 "</EM>"))
583
584
453 (defun hm--html-add-emphasized-to-region () 585 (defun hm--html-add-emphasized-to-region ()
454 "Adds the HTML tags for Emphasized to the region." 586 "Adds the HTML tags for Emphasized to the region."
455 (interactive) 587 (interactive)
456 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 588 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
457 "<EM>" 589 "<EM>"
458 'hm--html-insert-end-tag 590 'hm--html-insert-end-tag
459 "</EM>")) 591 "</EM>"))
460 592
461 593
594 (defun hm--html-add-fixed ()
595 "Adds the HTML tags for Fixed."
596 (interactive)
597 (hm--html-add-tags 'hm--html-insert-start-tag
598 "<TT>"
599 'hm--html-insert-end-tag
600 "</TT>"))
601
602
462 (defun hm--html-add-fixed-to-region () 603 (defun hm--html-add-fixed-to-region ()
463 "Adds the HTML tags for Fixed to the region." 604 "Adds the HTML tags for Fixed to the region."
464 (interactive) 605 (interactive)
465 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 606 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
466 "<TT>" 607 "<TT>"
467 'hm--html-insert-end-tag 608 'hm--html-insert-end-tag
468 "</TT>")) 609 "</TT>"))
469 610
470 611
612 (defun hm--html-add-keyboard ()
613 "Adds the HTML tags for Keyboard."
614 (interactive)
615 (hm--html-add-tags 'hm--html-insert-start-tag
616 "<KBD>"
617 'hm--html-insert-end-tag
618 "</KBD>"))
619
620
471 (defun hm--html-add-keyboard-to-region () 621 (defun hm--html-add-keyboard-to-region ()
472 "Adds the HTML tags for Keyboard to the region." 622 "Adds the HTML tags for Keyboard to the region."
473 (interactive) 623 (interactive)
474 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 624 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
475 "<KBD>" 625 "<KBD>"
476 'hm--html-insert-end-tag 626 'hm--html-insert-end-tag
477 "</KBD>")) 627 "</KBD>"))
478 628
479 629
630 (defun hm--html-add-sample ()
631 "Adds the HTML tags for Sample."
632 (interactive)
633 (hm--html-add-tags 'hm--html-insert-start-tag
634 "<SAMP>"
635 'hm--html-insert-end-tag
636 "</SAMP>"))
637
480 (defun hm--html-add-sample-to-region () 638 (defun hm--html-add-sample-to-region ()
481 "Adds the HTML tags for Sample to the region." 639 "Adds the HTML tags for Sample to the region."
482 (interactive) 640 (interactive)
483 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 641 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
484 "<SAMP>" 642 "<SAMP>"
485 'hm--html-insert-end-tag 643 'hm--html-insert-end-tag
486 "</SAMP>")) 644 "</SAMP>"))
487 645
488 646
647 (defun hm--html-add-strong ()
648 "Adds the HTML tags for Strong."
649 (interactive)
650 (hm--html-add-tags 'hm--html-insert-start-tag
651 "<STRONG>"
652 'hm--html-insert-end-tag
653 "</STRONG>"))
654
655
489 (defun hm--html-add-strong-to-region () 656 (defun hm--html-add-strong-to-region ()
490 "Adds the HTML tags for Strong to the region." 657 "Adds the HTML tags for Strong to the region."
491 (interactive) 658 (interactive)
492 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 659 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
493 "<STRONG>" 660 "<STRONG>"
494 'hm--html-insert-end-tag 661 'hm--html-insert-end-tag
495 "</STRONG>")) 662 "</STRONG>"))
496 663
497 664
665 (defun hm--html-add-variable ()
666 "Adds the HTML tags for Variable."
667 (interactive)
668 (hm--html-add-tags 'hm--html-insert-start-tag
669 "<VAR>"
670 'hm--html-insert-end-tag
671 "</VAR>"))
672
498 (defun hm--html-add-variable-to-region () 673 (defun hm--html-add-variable-to-region ()
499 "Adds the HTML tags for Variable to the region." 674 "Adds the HTML tags for Variable to the region."
500 (interactive) 675 (interactive)
501 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 676 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
502 "<VAR>" 677 "<VAR>"
539 "<PRE>" 714 "<PRE>"
540 'hm--html-insert-end-tag-with-newline 715 'hm--html-insert-end-tag-with-newline
541 "</PRE>")) 716 "</PRE>"))
542 717
543 718
719 (defun hm--html-add-plaintext ()
720 "Adds the HTML tags for plaintext."
721 (interactive)
722 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
723 "<XMP>"
724 'hm--html-insert-end-tag-with-newline
725 "</XMP>"))
726
727
544 (defun hm--html-add-plaintext-to-region () 728 (defun hm--html-add-plaintext-to-region ()
545 "Adds the HTML tags for plaintext to the region." 729 "Adds the HTML tags for plaintext to the region."
546 (interactive) 730 (interactive)
547 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline 731 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline
548 "<XMP>" 732 "<XMP>"
549 'hm--html-insert-end-tag-with-newline 733 'hm--html-insert-end-tag-with-newline
550 "</XMP>")) 734 "</XMP>"))
551 735
552 736
737 (defun hm--html-add-blockquote ()
738 "Adds the HTML tags for blockquote."
739 (interactive)
740 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
741 "<BLOCKQUOTE>"
742 'hm--html-insert-end-tag-with-newline
743 "</BLOCKQUOTE>"))
744
745
553 (defun hm--html-add-blockquote-to-region () 746 (defun hm--html-add-blockquote-to-region ()
554 "Adds the HTML tags for blockquote to the region." 747 "Adds the HTML tags for blockquote to the region."
555 (interactive) 748 (interactive)
556 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline 749 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline
557 "<BLOCKQUOTE>" 750 "<BLOCKQUOTE>"
941 1134
942 1135
943 ;;; Lists 1136 ;;; Lists
944 1137
945 1138
1139 (defun hm--html-add-listing ()
1140 "Adds the HTML tags for listing."
1141 (interactive)
1142 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
1143 "<LISTING>"
1144 'hm--html-insert-end-tag-with-newline
1145 "</LISTING>"))
1146
1147
946 (defun hm--html-add-listing-to-region () 1148 (defun hm--html-add-listing-to-region ()
947 "Adds the HTML tags for listing to the region." 1149 "Adds the HTML tags for listing to the region."
948 (interactive) 1150 (interactive)
949 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline 1151 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline
950 "<LISTING>" 1152 "<LISTING>"
951 'hm--html-insert-end-tag-with-newline 1153 'hm--html-insert-end-tag-with-newline
952 "</LISTING>")) 1154 "</LISTING>"))
953 1155
1156 (defun hm--html-add-center ()
1157 "Adds the HTML tags for center at the current point."
1158 (interactive)
1159 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
1160 "<CENTER>"
1161 'hm--html-insert-end-tag-with-newline
1162 "</CENTER>"))
1163
1164 (defun hm--html-add-center-to-region ()
1165 "Adds the HTML tags for center to the region."
1166 (interactive)
1167 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline
1168 "<CENTER>"
1169 'hm--html-insert-end-tag-with-newline
1170 "</CENTER>"))
954 1171
955 (defun hm--html-add-numberlist () 1172 (defun hm--html-add-numberlist ()
956 "Adds the HTML tags for a numbered list at the point in the current buffer." 1173 "Adds the HTML tags for a numbered list at the point in the current buffer."
957 (interactive) 1174 (interactive)
958 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline 1175 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
992 "</DIR>" 1209 "</DIR>"
993 'hm--html-insert-start-tag 1210 'hm--html-insert-start-tag
994 "<LI> ")) 1211 "<LI> "))
995 1212
996 1213
1214 (defun hm--html-add-list ()
1215 "Adds the HTML tags for a (unnumbered) list to the region."
1216 (interactive)
1217 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
1218 "<UL>"
1219 'hm--html-insert-end-tag-with-newline
1220 "</UL>"
1221 'hm--html-insert-start-tag
1222 "<LI> "))
1223
1224
997 (defun hm--html-add-list-to-region () 1225 (defun hm--html-add-list-to-region ()
998 "Adds the HTML tags for a (unnumbered) list to the region." 1226 "Adds the HTML tags for a (unnumbered) list to the region."
999 (interactive) 1227 (interactive)
1000 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline 1228 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline
1001 "<UL>" 1229 "<UL>"
1003 "</UL>" 1231 "</UL>"
1004 'hm--html-insert-start-tag 1232 'hm--html-insert-start-tag
1005 "<LI> ")) 1233 "<LI> "))
1006 1234
1007 1235
1236 (defun hm--html-add-menu ()
1237 "Adds the HTML tags for a menu."
1238 (interactive)
1239 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
1240 "<MENU>"
1241 'hm--html-insert-end-tag-with-newline
1242 "</MENU>"
1243 'hm--html-insert-start-tag
1244 "<LI> "))
1245
1246
1247 (defun hm--html-add-menu ()
1248 "Adds the HTML tags for a menu."
1249 (interactive)
1250 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
1251 "<MENU>"
1252 'hm--html-insert-end-tag-with-newline
1253 "</MENU>"
1254 'hm--html-insert-start-tag
1255 "<LI> "
1256 'hm--html-insert-end-tag
1257 " </LI>"))
1258
1259
1008 (defun hm--html-add-menu-to-region () 1260 (defun hm--html-add-menu-to-region ()
1009 "Adds the HTML tags for a menu to the region." 1261 "Adds the HTML tags for a menu to the region."
1010 (interactive) 1262 (interactive)
1011 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline 1263 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline
1012 "<MENU>" 1264 "<MENU>"
1013 'hm--html-insert-end-tag-with-newline 1265 'hm--html-insert-end-tag-with-newline
1014 "</MENU>" 1266 "</MENU>"))
1015 'hm--html-insert-start-tag 1267
1016 "<LI> ")) 1268 ; 'hm--html-insert-start-tag
1017 1269 ; "<LI> "))
1270
1271
1272 (defun hm--html-add-description-title-and-entry ()
1273 "Adds a definition title and entry.
1274 Assumes we're at the end of a previous entry."
1275 (interactive)
1276 (hm--html-add-description-title)
1277 (let ((position (point)))
1278 (search-forward "</DT>")
1279 (hm--html-add-only-description-entry)
1280 (goto-char position)))
1281
1282
1283 (defun hm--html-add-description-list ()
1284 "Adds the HTML tags for a description list.
1285 It also inserts a tag for the description title."
1286 (interactive)
1287 (hm--html-add-tags 'hm--html-insert-start-tag-with-newline
1288 "<DL>"
1289 'hm--html-insert-end-tag-with-newline
1290 "</DL>"
1291 'hm--html-insert-start-tag
1292 "<DT> "
1293 'hm--html-insert-end-tag
1294 " </DT>"))
1295
1018 1296
1019 (defun hm--html-add-description-list-to-region () 1297 (defun hm--html-add-description-list-to-region ()
1020 "Adds the HTML tags for a description list to a region. 1298 "Adds the HTML tags for a description list to a region.
1021 It also inserts a tag for the description title." 1299 It also inserts a tag for the description title."
1022 (interactive) 1300 (interactive)
1023 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline 1301 (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline
1024 "<DL>" 1302 "<DL>"
1025 'hm--html-insert-end-tag-with-newline 1303 'hm--html-insert-end-tag-with-newline
1026 "</DL>" 1304 "</DL>"))
1027 'hm--html-insert-start-tag 1305
1028 "<DT> ")) 1306 ; 'hm--html-insert-start-tag
1307 ; "<DT> "))
1029 1308
1030 1309
1031 (defun hm--html-add-description-title () 1310 (defun hm--html-add-description-title ()
1032 "Adds the HTML tag for a description title at current point in the buffer." 1311 "Adds the HTML tags for a description title at current point in the buffer."
1033 (interactive) 1312 (interactive)
1034 (hm--html-add-tags 'hm--html-insert-end-tag-with-newline 1313 (hm--html-add-tags 'hm--html-insert-end-tag-with-newline
1035 "<DT> ")) 1314 "<DT> "
1036 1315 'hm--html-insert-end-tag
1037 1316 " </DT>"))
1038 (defun hm--html-add-only-description-entry () 1317
1039 "Adds the HTML tag for a description entry at current point in the buffer." 1318
1319 (defun hm--html-add-description-title-to-region ()
1320 "Adds the HTML tags for a description title to the region in the buffer."
1321 (interactive)
1322 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
1323 "<DT> "
1324 'hm--html-insert-end-tag
1325 " </DT>"))
1326
1327
1328 (defun hm--html-add-description-entry ()
1329 "Adds the HTML tags for a description entry at current point in the buffer."
1040 (interactive) 1330 (interactive)
1041 (hm--html-add-tags 'hm--html-insert-end-tag-with-newline 1331 (hm--html-add-tags 'hm--html-insert-end-tag-with-newline
1042 "<DD> ")) 1332 "<DD> "
1043 1333 'hm--html-insert-end-tag
1334 " </DD>"))
1335
1336
1337 (defun hm--html-add-description-entry-to-region ()
1338 "Adds the HTML tags for a description entry to the region in the buffer."
1339 (interactive)
1340 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
1341 "<DD> "
1342 'hm--html-insert-end-tag
1343 " </DD>"))
1344
1345
1346 (defun hm--html-add-address ()
1347 "Adds the HTML tags for an address."
1348 (interactive)
1349 (hm--html-add-tags 'hm--html-insert-start-tag
1350 "<ADDRESS>"
1351 'hm--html-insert-end-tag
1352 "</ADDRESS>"))
1044 1353
1045 (defun hm--html-add-address-to-region () 1354 (defun hm--html-add-address-to-region ()
1046 "Adds the HTML tags for an address to the region" 1355 "Adds the HTML tags for an address to the region"
1047 (interactive) 1356 (interactive)
1048 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 1357 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
1049 "<ADDRESS> " 1358 "<ADDRESS>"
1050 'hm--html-insert-end-tag 1359 'hm--html-insert-end-tag
1051 " </ADDRESS>")) 1360 "</ADDRESS>"))
1052 1361
1053 1362
1054 (defvar hm--html-signature-reference-name "Signature" 1363 (defvar hm--html-signature-reference-name "Signature"
1055 "The signature reference name.") 1364 "The signature reference name.")
1056 1365
1395 (hm--html-add-body) 1704 (hm--html-add-body)
1396 (hm--html-add-signature) 1705 (hm--html-add-signature)
1397 (if hm--html-automatic-created-comment 1706 (if hm--html-automatic-created-comment
1398 (hm--html-insert-created-comment))) 1707 (hm--html-insert-created-comment)))
1399 1708
1709
1710 (defun hm--html-add-link-target-to-region (name)
1711 "Adds the HTML tags for a link target to the region."
1712 (interactive "sName: ")
1713 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
1714 (concat "<A NAME=\"" name "\">")
1715 'hm--html-insert-end-tag
1716 "</A>"))
1400 1717
1401 (defun hm--html-add-link-target (name) 1718 (defun hm--html-add-link-target (name)
1402 "Adds the HTML tags for a link target at point in the current buffer." 1719 "Adds the HTML tags for a link target at point in the current buffer."
1403 ; (interactive "sName (or RET for numeric): ") 1720 ; (interactive "sName (or RET for numeric): ")
1404 (interactive "sName: ") 1721 (interactive "sName: ")
1595 (if (not (facep 'hm--html-help-face)) 1912 (if (not (facep 'hm--html-help-face))
1596 ; (if (not hm--html-faces-exist) 1913 ; (if (not hm--html-faces-exist)
1597 (progn 1914 (progn
1598 (setq hm--html-faces-exist t) 1915 (setq hm--html-faces-exist t)
1599 (make-face 'hm--html-help-face) 1916 (make-face 'hm--html-help-face)
1600 (and hm--html-help-foreground 1917 (if hm--html-help-foreground
1601 (set-face-foreground 'hm--html-help-face 1918 (set-face-foreground 'hm--html-help-face hm--html-help-foreground))
1602 hm--html-help-foreground)) 1919 (if hm--html-help-background
1603 (and hm--html-help-background 1920 (set-face-background 'hm--html-help-face hm--html-help-background))
1604 (set-face-background 'hm--html-help-face 1921 (set-face-font 'hm--html-help-face hm--html-help-font)
1605 hm--html-help-background))
1606 (and hm--html-help-font
1607 (set-face-font 'hm--html-help-face hm--html-help-font))
1608 ))) 1922 )))
1609 1923
1610 1924
1611 (defun hm--html-get-prompt-from-parameter-list (parameter-list) 1925 (defun hm--html-get-prompt-from-parameter-list (parameter-list)
1612 "Returns the prompt from the PARAMETER-LIST." 1926 "Returns the prompt from the PARAMETER-LIST."
2387 nil 2701 nil
2388 "" 2702 ""
2389 t 2703 t
2390 nil) 2704 nil)
2391 (list ; servername:port 2705 (list ; servername:port
2392 "Mailadresse: " 2706 "Mailaddress: "
2393 mailto-alist 2707 mailto-alist
2394 nil 2708 nil
2395 nil 2709 nil
2396 "muenkel@tnt.uni-hannover.de") 2710 "muenkel@tnt.uni-hannover.de")
2397 nil ; path/file 2711 nil ; path/file
2412 (defun hm--html-add-mailto-link-to-region () 2726 (defun hm--html-add-mailto-link-to-region ()
2413 "Adds the HTML tags for a mailto link to the region." 2727 "Adds the HTML tags for a mailto link to the region."
2414 (interactive) 2728 (interactive)
2415 (hm--html-add-mailto-link-1 'hm--html-add-tags-to-region)) 2729 (hm--html-add-mailto-link-1 'hm--html-add-tags-to-region))
2416 2730
2417 2731 (defun hm--html-add-relative-link (relative-file-path)
2418 (defun hm--html-add-normal-link-to-region () 2732 "Adds the HTML tags for a relative link at the current point."
2419 "Adds the HTML tags for a normal general link to region." 2733 (interactive (list (read-file-name "Relative Filename: "
2420 (interactive) 2734 nil
2735 nil
2736 nil
2737 "")))
2738 (hm--html-add-tags 'hm--html-insert-start-tag
2739 (concat "<A HREF=\""
2740 relative-file-path
2741 "\">")
2742 'hm--html-insert-end-tag
2743 "</A>"))
2744
2745 (defun hm--html-add-relative-link-to-region (relative-file-path)
2746 "Adds the HTML tags for a relative link to the region."
2747 (interactive (list (read-file-name "Relative Filename: "
2748 nil
2749 nil
2750 nil
2751 "")))
2421 (hm--html-add-tags-to-region 'hm--html-insert-start-tag 2752 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
2422 (concat "<A HREF=\"" 2753 (concat "<A HREF=\""
2423 (read-string "Link to: ") 2754 relative-file-path
2755 "\">")
2756 'hm--html-insert-end-tag
2757 "</A>"))
2758
2759 (defun hm--html-add-normal-link (link-object)
2760 "Adds the HTML tags for a normal general link.
2761 Single argument LINK-OBJECT is value of HREF in the new anchor.
2762 Mark is set after anchor."
2763 (interactive "sNode Link to: ")
2764 (hm--html-add-tags 'hm--html-insert-start-tag
2765 (concat "<A HREF=\""
2766 link-object
2767 "\">")
2768 'hm--html-insert-end-tag
2769 "</A>"))
2770
2771 (defun hm--html-add-normal-link-to-region (link-object)
2772 "Adds the HTML tags for a normal general link to region.
2773 Single argument LINK-OBJECT is value of HREF in the new anchor.
2774 Mark is set after anchor."
2775 (interactive "sNode Link to: ")
2776 (hm--html-add-tags-to-region 'hm--html-insert-start-tag
2777 (concat "<A HREF=\""
2778 ; (read-string "Link to: ")
2779 link-object
2424 "\">") 2780 "\">")
2425 'hm--html-insert-end-tag 2781 'hm--html-insert-end-tag
2426 "</A>")) 2782 "</A>"))
2427 2783
2428 2784
2614 ; (setq html-use-highlighting t))) 2970 ; (setq html-use-highlighting t)))
2615 2971
2616 2972
2617 ;;; Functions for font lock mode 2973 ;;; Functions for font lock mode
2618 2974
2619 (if html-running-emacs-19 2975 (if (adapt-emacs19p)
2620 (progn 2976 (progn
2621 (make-face 'font-lock-comment-face) 2977 (make-face 'font-lock-comment-face)
2622 (make-face 'font-lock-doc-string-face) 2978 (make-face 'font-lock-doc-string-face)
2623 (make-face 'font-lock-string-face) 2979 (make-face 'font-lock-string-face)
2624 (or (face-differs-from-default-p 'font-lock-doc-string-face) 2980 (or (face-differs-from-default-p 'font-lock-doc-string-face)
3305 (insert (format " rowspan=\"%d\"" rows))) 3661 (insert (format " rowspan=\"%d\"" rows)))
3306 (error "ERROR: Point not in a table cell!")))) 3662 (error "ERROR: Point not in a table cell!"))))
3307 3663
3308 3664
3309 ;;; ISO-Characters for Emacs HTML-mode (Berthold Crysmann) 3665 ;;; ISO-Characters for Emacs HTML-mode (Berthold Crysmann)
3666 ;(setq buffer-invisibility-spec '(hm--html-iso-entity-invisible-flag))
3667
3668 ;(defvar hm--html-iso-entity-invisible-flag t
3669 ; "Controls the visibility of the iso entities.")
3670
3671 ;(defvar hm--html-iso-glyph-invisible-flag nil
3672 ; "Controls the visibility of the iso character glyphs.")
3673
3674 ;(defvar hm--html-glyph-cache nil
3675 ; "Internal variable. An assoc list with the already created glyphs.")
3676
3677 ;(defun hm--html-create-glyph (string)
3678 ; "Creates a glyph from the string or returns an existing one.
3679 ;The glyph is stored in `hm--html-glyph-cache'."
3680 ; (if nil ;(assoc string hm--html-glyph-cache)
3681 ; (cdr (assoc string hm--html-glyph-cache))
3682 ; (let ((glyph (make-glyph string)))
3683 ; (setq hm--html-glyph-cache (cons (cons string glyph)
3684 ; hm--html-glyph-cache))
3685 ; glyph)))
3686
3687 ;(defun hm--html-attach-glyph-to-region (start
3688 ; end
3689 ; string
3690 ; region-invisible-flag
3691 ; glyph-invisible-flag)
3692 ; "Make the region invisible and attach a glyph STRING.
3693 ;The invisible flags could be used, to toggle the visibility."
3694 ; (mapcar 'delete-annotation (annotations-at end)) ; delete old anotations
3695 ; ;; delete old extents
3696 ; (let ((extent (make-extent start end))
3697 ; (annotation nil))
3698 ; (set-extent-property extent 'invisible region-invisible-flag)
3699 ; (set-extent-property extent 'end-open t)
3700 ; (set-extent-property extent 'start-open t)
3701 ; (set-extent-property extent 'intangible t)
3702 ; (setq annotation (make-annotation "Hallo Du da" ;(hm--html-create-glyph string)
3703 ; end
3704 ; 'text))
3705 ; (goto-char end)))
3706
3707
3708 ;(defun hm--html-insert-iso-char-as-entity-and-glyph (char entity)
3709 ; "Inserts an iso char as html ENTITY and displays a glyph.
3710 ;The glyph is created from the string CHAR."
3711 ; (let ((start (point)))
3712 ; (insert entity)
3713 ; (hm--html-attach-glyph-to-region start
3714 ; (point)
3715 ; char
3716 ; 'hm--html-iso-entity-invisible-flag
3717 ; 'hm--html-iso-glyph-invisible-flag)))
3718
3719 ;(defun hm--html_ue ()
3720 ; (interactive)
3721 ; (hm--html-insert-iso-char-as-entity-and-glyph "ü" "&uuml;"))
3722
3723
3724 ;(defun hm--html-insert-iso-char-as-entity-and-glyph (char entity)
3725 ; (let ((start (point))
3726 ; (end nil)
3727 ; (extent nil))
3728 ; (insert entity)
3729 ; (setq end (point))
3730 ; (setq extent (make-extent start end))
3731 ; (set-extent-begin-glyph extent char)
3732 ; (set-extent-property extent 'invisible t)))
3733
3734 ;(defun hm--html_ue ()
3735 ; (interactive)
3736 ; (hm--html-insert-iso-char-as-entity-and-glyph ?ü "&uuml;"))
3310 3737
3311 (defun hm--html_ue () 3738 (defun hm--html_ue ()
3312 "Insert the character 'ue'." 3739 "Insert the character 'ue'."
3313 (interactive) 3740 (interactive)
3314 (insert "&uuml;")) 3741 (insert "&uuml;"))
3588 ; 4015 ;
3589 ; smart functions 4016 ; smart functions
3590 4017
3591 (defvar hm--just-insert-less-than nil 4018 (defvar hm--just-insert-less-than nil
3592 "Internal variable.") 4019 "Internal variable.")
4020
4021 (defun hm--html-less-than ()
4022 "Inserts the entity '&gt;'."
4023 (interactive)
4024 (insert "&lt;"))
3593 4025
3594 (defun hm--html-smart-less-than () 4026 (defun hm--html-smart-less-than ()
3595 "Insert a '<' or the entity '&lt;' if you execute this command twice." 4027 "Insert a '<' or the entity '&lt;' if you execute this command twice."
3596 (interactive) 4028 (interactive)
3597 (if (and (eq last-command 'hm--html-smart-less-than) 4029 (if (and (eq last-command 'hm--html-smart-less-than)
3598 hm--just-insert-less-than) 4030 hm--just-insert-less-than)
3599 (progn 4031 (progn
3600 (delete-char -1) 4032 (delete-char -1)
3601 (html-less-than) 4033 (hm--html-less-than)
3602 (setq hm--just-insert-less-than nil)) 4034 (setq hm--just-insert-less-than nil))
3603 (insert ?<) 4035 (insert ?<)
3604 (setq hm--just-insert-less-than t))) 4036 (setq hm--just-insert-less-than t)))
3605 4037
3606 (defvar hm--just-insert-greater-than nil 4038 (defvar hm--just-insert-greater-than nil
3607 "Internal variable.") 4039 "Internal variable.")
4040
4041 (defun hm--html-greater-than ()
4042 "Inserts the entity '&gt;'."
4043 (interactive)
4044 (insert "&gt;"))
3608 4045
3609 (defun hm--html-smart-greater-than () 4046 (defun hm--html-smart-greater-than ()
3610 "Insert a '>' or the entity '&gt;' if you execute this command twice." 4047 "Insert a '>' or the entity '&gt;' if you execute this command twice."
3611 (interactive) 4048 (interactive)
3612 (if (and (eq last-command 'hm--html-smart-greater-than) 4049 (if (and (eq last-command 'hm--html-smart-greater-than)
3613 hm--just-insert-greater-than) 4050 hm--just-insert-greater-than)
3614 (progn 4051 (progn
3615 (delete-char -1) 4052 (delete-char -1)
3616 (html-greater-than) 4053 (hm--html-greater-than)
3617 (setq hm--just-insert-greater-than nil)) 4054 (setq hm--just-insert-greater-than nil))
3618 (insert ?>) 4055 (insert ?>)
3619 (setq hm--just-insert-greater-than t))) 4056 (setq hm--just-insert-greater-than t)))
4057
4058
4059 (defvar hm--just-insert-ampersand nil
4060 "Internal variable.")
4061
4062 (defun hm--html-ampersand ()
4063 "Inserts the entity '&amp;'."
4064 (interactive)
4065 (insert "&amp;"))
4066
4067 (defun hm--html-smart-ampersand ()
4068 "Insert a '&' or the entity '&amp;' if you execute this command twice."
4069 (interactive)
4070 (if (and (eq last-command 'hm--html-smart-ampersand)
4071 hm--just-insert-ampersand)
4072 (progn
4073 (delete-char -1)
4074 (hm--html-ampersand)
4075 (setq hm--just-insert-ampersand nil))
4076 (insert ?&)
4077 (setq hm--just-insert-ampersand t)))
3620 4078
3621 4079
3622 ;;; 4080 ;;;
3623 ; sending the contents of a html buffer to netscape 4081 ; sending the contents of a html buffer to netscape
3624 ; (Thanks to Adrian Aichner for providing this function) 4082 ; (Thanks to Adrian Aichner for providing this function)
3717 'hm--html-wais-hostname:port-alist 4175 'hm--html-wais-hostname:port-alist
3718 'hm--html-wais-hostname:port-default 4176 'hm--html-wais-hostname:port-default
3719 'hm--html-wais-path-alist 4177 'hm--html-wais-path-alist
3720 'hm--html-wais-servername:port-alist 4178 'hm--html-wais-servername:port-alist
3721 'hm--html-wais-servername:port-default 4179 'hm--html-wais-servername:port-default
3722 'html-deemphasize-color 4180 ; 'html-deemphasize-color
3723 'html-document-previewer 4181 'html-document-previewer
3724 'html-document-previewer-args 4182 ; 'html-document-previewer-args
3725 'html-emphasize-color 4183 ; 'html-emphasize-color
3726 'html-quotify-hrefs-on-find 4184 ; 'html-quotify-hrefs-on-find
3727 'html-region-mode 4185 'hm--html-region-mode
3728 'html-sigusr1-signal-value 4186 'html-sigusr1-signal-value
3729 'html-use-font-lock 4187 ; 'html-use-font-lock
3730 'html-use-highlighting 4188 ; 'html-use-highlighting
3731 ) 4189 )
3732 nil 4190 nil
3733 nil 4191 nil
3734 "Decribe your Bug: " 4192 "Decribe your Bug: "
3735 ))) 4193 )))
3740 ; 4198 ;
3741 4199
3742 (if (adapt-xemacsp) 4200 (if (adapt-xemacsp)
3743 (progn 4201 (progn
3744 4202
3745 (add-hook 'zmacs-activate-region-hook 4203 (add-hook 'zmacs-activate-region-hook
3746 (function (lambda () (html-region-mode t)))) 4204 'hm--html-switch-region-modes-on)
4205 ; (function (lambda () (hm--html-region-mode 1))))
3747 4206
3748 (add-hook 'zmacs-deactivate-region-hook 4207 (add-hook 'zmacs-deactivate-region-hook
3749 (function (lambda () (html-region-mode nil)))) 4208 'hm--html-switch-region-modes-off)
4209 ; (function (lambda () (hm--html-region-mode -1))))
3750 4210
3751 ) 4211 )
3752 4212
3753 (transient-mark-mode t) 4213 (transient-mark-mode t)
3754 4214
3755 (add-hook 'activate-mark-hook 4215 (add-hook 'activate-mark-hook
3756 (function (lambda () (html-region-mode t)))) 4216 'hm--html-switch-region-modes-on)
4217 ; (function (lambda () (hm--html-region-mode t))))
3757 4218
3758 (add-hook 'deactivate-mark-hook 4219 (add-hook 'deactivate-mark-hook
3759 (function (lambda () (html-region-mode nil)))) 4220 'hm--html-switch-region-modes-off)
4221 ; (function (lambda () (hm--html-region-mode nil))))
3760 4222
3761 ) 4223 )
3762 4224
3763 4225
3764 (add-hook 'html-mode-hook 4226 ;(add-hook 'hm--html-mode-hook
3765 (function 4227 ; (function
3766 (lambda () 4228 ; (lambda ()
3767 (make-variable-buffer-local 'write-file-hooks) 4229 ; (make-variable-buffer-local 'write-file-hooks)
3768 (add-hook 'write-file-hooks 4230 ; (add-hook 'write-file-hooks
3769 'hm--html-maybe-new-date-and-changed-comment)))) 4231 ; 'hm--html-maybe-new-date-and-changed-comment))))
3770 4232
3771 ;(add-hook 'zmacs-activate-region-hook 'hm--set-hm--region-active) 4233 ;(add-hook 'zmacs-activate-region-hook 'hm--set-hm--region-active)
3772 ; 4234 ;
3773 ;(add-hook 'zmacs-deactivate-region-hook 'hm--unset-hm--region-active) 4235 ;(add-hook 'zmacs-deactivate-region-hook 'hm--unset-hm--region-active)
3774 4236
3822 4284
3823 ;(hm--html-load-config-files) 4285 ;(hm--html-load-config-files)
3824 4286
3825 ;;; Definition of the minor mode html-region-mode 4287 ;;; Definition of the minor mode html-region-mode
3826 4288
3827 (defvar html-region-mode nil 4289 ;(defvar html-region-mode nil
3828 "*t, if the minor mode html-region-mode is on and nil otherwise.") 4290 ; "*t, if the minor mode html-region-mode is on and nil otherwise.")
3829 4291
3830 (make-variable-buffer-local 'html-region-mode) 4292 ;(make-variable-buffer-local 'html-region-mode)
3831 4293
3832 (defvar html-region-mode-map nil "") 4294 ;(defvar html-region-mode-map nil "")
3833 4295
3834 (hm--html-load-config-files) 4296 ;(hm--html-load-config-files)
3835 4297
3836 (if hm--html-use-old-keymap 4298 ;(if hm--html-use-old-keymap
3837 (progn 4299 ; (progn
3838 4300
3839 ;(setq minor-mode-alist (cons '(html-region-mode " Region") minor-mode-alist)) 4301 ;;(setq minor-mode-alist (cons '(html-region-mode " Region") minor-mode-alist))
3840 (or (assq 'html-region-mode minor-mode-alist) 4302 ;(or (assq 'html-region-mode minor-mode-alist)
3841 (setq minor-mode-alist 4303 ; (setq minor-mode-alist
3842 (purecopy 4304 ; (purecopy
3843 (append minor-mode-alist 4305 ; (append minor-mode-alist
3844 '((html-region-mode " Region")))))) 4306 ; '((html-region-mode " Region"))))))
3845 4307
3846 (defun html-region-mode (on) 4308 ;(defun html-region-mode (on)
3847 "Turns the minor mode html-region-mode on or off. 4309 ; "Turns the minor mode html-region-mode on or off.
3848 The function turns the html-region-mode on, if ON is t and off otherwise." 4310 ;The function turns the html-region-mode on, if ON is t and off otherwise."
3849 (if (string= mode-name "HTML") 4311 ; (if (string= mode-name "HTML")
3850 (if on 4312 ; (if on
3851 ;; html-region-mode on 4313 ; ;; html-region-mode on
3852 (progn 4314 ; (progn
3853 (setq html-region-mode t) 4315 ; (setq html-region-mode t)
3854 (use-local-map html-region-mode-map)) 4316 ; (use-local-map html-region-mode-map))
3855 ;; html-region-mode off 4317 ; ;; html-region-mode off
3856 (setq html-region-mode nil) 4318 ; (setq html-region-mode nil)
3857 (use-local-map html-mode-map)))) 4319 ; (use-local-map html-mode-map))))
3858 4320
3859 )) 4321 ;))
3860 4322
3861 4323
3862 4324
3863 4325
3864 4326
3865 ;;; 4327 ;;;
3866 ; Set font lock color 4328 ; Set font lock color
3867 ; (hm--html-font-lock-color should be defined in hm--html-configuration.el 4329 ; (hm--html-font-lock-color should be defined in hm--html-configuration.el
3868 ; oder .hm--html-configuration.el) 4330 ; oder .hm--html-configuration.el)
3869 ; 4331 ;
3870 (require 'font-lock) 4332 ;(require 'font-lock)
3871 ;(load-library "font-lock") 4333 ;(load-library "font-lock")
3872 ;(set-face-foreground 'font-lock-comment-face hm--html-font-lock-color) 4334 ;(set-face-foreground 'font-lock-comment-face hm--html-font-lock-color)
3873 4335
3874 4336
3875 (hm--html-generate-help-buffer-faces) 4337 ;(hm--html-generate-help-buffer-faces)
3876 4338
3877 4339
3878 4340
3879 4341
3880 ;;;;;;;; 4342 ;;;;;;;;
3884 ;(defun hm--html-get-next-hostname () 4346 ;(defun hm--html-get-next-hostname ()
3885 ; (interactive) 4347 ; (interactive)
3886 ; (search-forward-regexp hm--html-hostname-search-string) 4348 ; (search-forward-regexp hm--html-hostname-search-string)
3887 ; (buffer-substring (match-beginning 0) (match-end 0))) 4349 ; (buffer-substring (match-beginning 0) (match-end 0)))
3888 ; 4350 ;
4351
4352 ;;; Announce the feature hm--html-configuration
4353
4354 ;;; quotify href
4355
4356 (defvar hm--html-quotify-href-regexp
4357 "<[aA][ \t\n]+\\([nN][aA][mM][eE]=[a-zA-Z0-9]+[ \t\n]+\\)?[hH][rR][eE][fF]="
4358 "Regular expression used for searching hrefs.")
4359
4360 (defun hm--html-quotify-hrefs ()
4361 "Insert quotes around all HREF and NAME attribute value literals.
4362
4363 This remedies the problem with old HTML files that can't be processed
4364 by SGML parsers. That is, changes <A HREF=foo> to <A HREF=\"foo\">.
4365
4366 Look also at the variable `hm--html-quotify-href-regexp'."
4367 (interactive)
4368 (save-excursion
4369 (goto-char (point-min))
4370 (while
4371 (re-search-forward hm--html-quotify-href-regexp
4372 (point-max)
4373 t)
4374 (cond
4375 ((null (looking-at "\""))
4376 (insert "\"")
4377 (re-search-forward "[ \t\n>]" (point-max) t)
4378 (forward-char -1)
4379 (insert "\""))))))
4380
4381
4382
4383 (provide 'hm--html)