bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#27391: 25.2.50; utf-8 coding cookie is not applied on some specific


From: Philipp Stephani
Subject: bug#27391: 25.2.50; utf-8 coding cookie is not applied on some specific markdown file
Date: Mon, 26 Jun 2017 11:39:12 +0000



Vincent Belaïche <vincent.belaiche@gmail.com> schrieb am Mo., 19. Juni 2017 um 12:51 Uhr:

Concerning factorization, couldn't one use [\n\r] in all cases rather
than a switch based on some input argument ?

It should be possible, but it slightly changes the behavior of file-local variables. I wouldn't expect anything to break though. 
 

I was also wondering whether it is not possible to have a single regexp
for the whole Local Variable section. The following `doit' function is a
trial to do so. `M-x doit' will seach forward the whole Local Variables
section and display "ok" if found, "nak" otherwise.

(defun doit ()
  (interactive)
  (let* ((eol "\\(\r\n?\\|\n\\)")
         (eol-again "\\1")
         (space-maybe "[ \t]*")
         ;; suffix may be the empty string
         (suffix  "\\([^ \r\n]+\\(?:[^\r\n]*[^ \r\n]\\)?\\|\\)")
         (prefix "\\([ \t]*[^ \r\n]+\\(?:[^\r\n]*[^ \r\n]\\)?\\)")
         (prefix-again "\\2")
         (suffix-again "\\3")
         (symbol: "\\(?:\\(?:[^][()'\" \t\r\n]\\|\\\\[][()'\" \t]\\)+[ \t]*:\\)")
         (sexp (concat "\\(?:" (substring prefix 2))))

    (message (if (and (re-search-forward
                  (concat eol
                          prefix space-maybe "Local Variables:" space-maybe suffix space-maybe eol-again
                          "\\(?:" prefix space-maybe symbol:  sexp space-maybe suffix-again space-maybe eol-again "\\)*"
                          prefix space-maybe "End:" space-maybe suffix space-maybe "\\(" eol-again "\\)?"
                          )
                  nil t)
                  ;; when the tailing eol is not there we must be at EOB.
                  (or (match-string 3) (eobp)))
                                    "ok" "nak"))))



Looks good. Consider using `rx' for complex regexes, in my experiences it increases readability a lot. 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]