                            (delete-region p1 p2))))
                      (not (looking-at "^\n"))))
             ;; Then print table of contents
-            (insert (format "%s\n" parsed-outline-comment-start))
-            (let ((n 1))
-              (dolist (h headings-list)
-                ;; (insert (format "// %2d. %s\n" n heading))
-                (insert (format "%s %s%s\n"
-                                parsed-outline-comment-start
-                                (replace-regexp-in-string
-                                 "\\*" "  " (pop stars-list))
-                                h))
-                (setq n (1+ n))))))))
+            (let ((content-comment-prefix
+                   (if el-mode
+                       ";; " ; 2 consecutive ; in `emacs-lisp-mode'
+                     parsed-outline-comment-start)))
+              (insert (format "%s\n" content-comment-prefix))
+              (let ((n 1))
+                (dolist (h headings-list)
+                  ;; (insert (format "// %2d. %s\n" n heading))
+                  (insert (format "%s %s%s\n"
+                                  content-comment-prefix
+                                  (replace-regexp-in-string
+                                   (if el-mode ";" "\\*") "  " (pop stars-list))
+                                  h))
+                  (setq n (1+ n)))))))))
 
     (defvar modi/outline-mode-hooks '(verilog-mode-hook
                                       emacs-lisp-mode-hook)

;; Time-stamp: <2015-06-17 11:39:05 kmodi>

;; Outshine
;; https://github.com/tj64/outshine

          (while (re-search-forward
                  (concat "^\\(?1:" ; beginning of line
                          outline-comment-start
                          (if el-mode
                              (concat "\\{2\\}\\)" ; 2 consecutive ; in `emacs-lisp-mode'
                                      ";\\(?2:;*\\)") ; followed by one or more ; chars
                            (concat "\\s-\\{1\\}\\)" ; SINGLE white space
                                    "\\*\\(?2:\\**\\)")) ; followed by one or more * chars
                          " " ; followed by a space
                          "\\(?3:.+\\)") ; followed by heading
                  nil :noerror)
            (setq parsed-outline-comment-start (match-string-no-properties 1))
            ;; Note that the below `star' var stores one less * than the actual;
            ;; that's intentional. Also note that for `emacs-lisp-mode' the 3rd
            ;; consecutive ; onwards is counted as a “star”.
            (setq star    (match-string-no-properties 2))
            (setq heading (match-string-no-properties 3))
            ;; (message "%s %s %s" parsed-outline-comment-start star heading)
            (when (not (string= heading "Revision Control"))
              (setq stars-list    (cons star stars-list))
