[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: |
Vincent Belaïche |
Subject: |
bug#27391: 25.2.50; utf-8 coding cookie is not applied on some specific markdown file |
Date: |
Mon, 19 Jun 2017 12:51:33 +0200 |
[...]
>
> With git-blame it's not really tedious. Commit
> 6b61353c0a0320ee15bb6488149735381fed62ec replaced ^\\(.*\\)[ \t]* with
> [\r\n]\\([^[\r\n]*\\)[ \t]*, so I think it's almost certain this is a
> typo (the previous regex didn't exclude the [ either). Anyway, if
> people want this to stay, they should have added a comment.
Thank you, I had a look at Wikipedia for the QWERTY keyboard layout (I
have a French keyboard and the layout is somehow different for \ and ]).
Modern QWERTY layout is as follows:
1 2 3 4 5 6 7 8 9 0 - =
Q W E R T Y U I O P [ ] \
A S D F G H J K L ; '
Z X C V B N M , . /
So ] is just next to \.
So, yes, definitely this is a typo, the author had too big a finger when
hitting \.
Concerning factorization, couldn't one use [\n\r] in all cases rather
than a switch based on some input argument ?
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"))))
Vincent.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
https://www.avast.com/antivirus