Shammer's Philosophy

My private adversaria

What kind of elements is Emacs cursor in?

I enhanced Is Emacs cursor in &lt;p&gt; or &lt;div&gt;? - Shammerism. In previous release, only <p> and <div> can be detected, but this version enables all elements. Not only this version can handle more elements, but also implementation becomes more simple.

(defun get-current-element-name ()
  (save-excursion
    (save-restriction
      (let* ((element-start (search-forward "</" nil t))
	     (element-end (search-forward ">" nil t)))
	(buffer-substring element-start (- element-end 1))))))

This should be used like below.

(let ((element (get-current-element-name)))
  (let ((end (progn
	       (search-forward (concat "</" element ">") nil t)
	       (match-beginning 0)))
	(start (progn
		 (re-search-backward (concat "<" element ".*>") nil t)
		 (match-end 0)))
	(text-flag t))
    (...)))

(...) means some procedures.