unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#24739: 25.1; conf-mode can't handle non escaped single quotes
@ 2016-10-19 16:37 Diego Berrocal
  2019-07-27 13:43 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Diego Berrocal @ 2016-10-19 16:37 UTC (permalink / raw)
  To: 24739

[-- Attachment #1: Type: text/plain, Size: 33403 bytes --]

when in conf-mode, if one property has a value that has a single
non escaped quote, then it will keep searching for the matching quote
until the end of the file, which makes next properties not able to be
font-locked

Reproduction text:

Switch to scratch buffer

M-x conf-mode

firstProperty=Hi I'm Diego
secondProperty=I have a stringquote style.

Please fix this.




In GNU Emacs 25.1.1 (x86_64-apple-darwin15.6.0, NS appkit-1404.47 Version
10.11.6 (Build 15G31))
 of 2016-08-16 built on LM-NYC-00878226
Windowing system distributor 'Apple', version 10.3.1404
Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs-plus/25.1-rc1/share/info/emacs
 --prefix=/usr/local/Cellar/emacs-plus/25.1-rc1 --with-xml2
 --without-dbus --with-gnutls --with-rsvg --with-imagemagick --with-ns
 --disable-ns-self-contained'

Configured features:
JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8

Major mode: Conf[Unix]

Minor modes in effect:
  helm-flx-mode: t
  handoff-global-mode: t
  handoff-mode: t
  helm-descbinds-mode: t
  helm-spacemacs-help-mode: t
  company-statistics-mode: t
  yas-global-mode: t
  projectile-mode: t
  recentf-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-netsplit-mode: t
  erc-log-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-youtube-mode: t
  erc-match-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  custom-keys-mode: t
  beacon-mode: t
  global-evil-mc-mode: t
  evil-mc-mode: t
  encourage-mode: t
  company-flx-mode: t
  editorconfig-mode: t
  global-spacemacs-whitespace-cleanup-mode: t
  spacemacs-whitespace-cleanup-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  winner-mode: t
  window-numbering-mode: t
  volatile-highlights-mode: t
  spaceline-info-mode: t
  spaceline-helm-mode: t
  save-place-mode: t
  savehist-mode: t
  persp-mode: t
  keyfreq-autosave-mode: t
  keyfreq-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  ido-vertical-mode: t
  helm-mode: t
  global-git-gutter+-mode: t
  git-gutter+-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  flx-ido-mode: t
  firestarter-mode: t
  eyebrowse-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-search-highlight-persist: t
  evil-search-highlight-persist: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  evil-escape-mode: t
  global-anzu-mode: t
  anzu-mode: t
  eval-sexp-fu-flash-mode: t
  popwin-mode: t
  global-edit-server-edit-mode: t
  diff-auto-refine-mode: t
  company-quickhelp-mode: t
  clean-aindent-mode: t
  hybrid-mode: t
  which-key-mode: t
  override-global-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  evil-mode: t
  evil-local-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  xterm-mouse-mode: t
  global-auto-revert-mode: t
  global-page-break-lines-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
evil-forward-char: End of line [15 times]
mouse-2: correct word at point
evil-line-move: End of buffer [6 times]
mouse-2: visit this file in other window [2 times]
evil-line-move: Beginning of buffer [2 times]
Quit
Error running timer ‘sp-show--pair-function’: (end-of-buffer) [2 times]
Quit [2 times]
evil-signal-at-eob: End of buffer [19 times]
evil-line-move: End of buffer

Load-path shadows:
/Users/dberrocal/.emacs.d/elpa/org-mac-link-20160808.220/org-mac-link hides
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-mac-link
/Users/dberrocal/.emacs.d/elpa/org-download-20160907.1021/org-download
hides /Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-download
/Users/dberrocal/.emacs.d/elpa/org-bullets-20140918.1137/org-bullets hides
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-bullets
/Users/dberrocal/.emacs.d/elpa/ht-20160911.1900/ht hides
/Users/dberrocal/.emacs.d/core/libs/ht
/Users/dberrocal/.emacs.d/elpa/cmake-mode-20160928.505/cmake-mode hides
/usr/local/share/emacs/site-lisp/cmake/cmake-mode
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-xact hides
/usr/local/share/emacs/site-lisp/ledger/ledger-xact
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-texi hides
/usr/local/share/emacs/site-lisp/ledger/ledger-texi
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-test hides
/usr/local/share/emacs/site-lisp/ledger/ledger-test
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-state hides
/usr/local/share/emacs/site-lisp/ledger/ledger-state
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-sort hides
/usr/local/share/emacs/site-lisp/ledger/ledger-sort
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-schedule
hides /usr/local/share/emacs/site-lisp/ledger/ledger-schedule
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-report hides
/usr/local/share/emacs/site-lisp/ledger/ledger-report
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-regex hides
/usr/local/share/emacs/site-lisp/ledger/ledger-regex
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-reconcile
hides /usr/local/share/emacs/site-lisp/ledger/ledger-reconcile
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-post hides
/usr/local/share/emacs/site-lisp/ledger/ledger-post
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-occur hides
/usr/local/share/emacs/site-lisp/ledger/ledger-occur
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-navigate
hides /usr/local/share/emacs/site-lisp/ledger/ledger-navigate
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-mode hides
/usr/local/share/emacs/site-lisp/ledger/ledger-mode
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-init hides
/usr/local/share/emacs/site-lisp/ledger/ledger-init
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-fonts hides
/usr/local/share/emacs/site-lisp/ledger/ledger-fonts
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-fontify
hides /usr/local/share/emacs/site-lisp/ledger/ledger-fontify
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-exec hides
/usr/local/share/emacs/site-lisp/ledger/ledger-exec
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-context
hides /usr/local/share/emacs/site-lisp/ledger/ledger-context
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-complete
hides /usr/local/share/emacs/site-lisp/ledger/ledger-complete
/Users/dberrocal/.emacs.d/elpa/ledger-mode-20161003.916/ledger-commodities
hides /usr/local/share/emacs/site-lisp/ledger/ledger-commodities
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-texinfo hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-texinfo
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-publish hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-publish
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-org hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-org
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-odt hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-odt
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-md hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-md
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-man hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-man
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-latex hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-latex
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-icalendar hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-icalendar
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-html hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-html
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-beamer hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-beamer
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ox-ascii hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ox-ascii
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-w3m hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-w3m
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-version hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-version
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-timer hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-timer
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-table hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-table
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-src hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-src
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-rmail hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-rmail
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-protocol hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-protocol
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-plot hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-plot
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-pcomplete
hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-pcomplete
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-mouse hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-mouse
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-mobile hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-mobile
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-mhe hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-mhe
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-macs hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-macs
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-macro hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-macro
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-loaddefs hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-loaddefs
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-list hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-list
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-irc hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-irc
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-install hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-install
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-inlinetask
hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-inlinetask
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-info hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-info
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-indent hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-indent
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-id hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-id
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-habit hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-habit
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-gnus hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-gnus
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-footnote hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-footnote
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-feed hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-feed
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-faces hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-faces
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-eshell hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-eshell
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-entities hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-entities
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-element hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-element
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-docview hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-docview
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-datetree hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-datetree
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-ctags hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-ctags
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-crypt hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-crypt
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-compat hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-compat
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-colview hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-colview
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-clock hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-clock
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-capture hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-capture
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-bibtex hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-bibtex
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-bbdb hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-bbdb
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-attach hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-attach
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-archive hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-archive
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/org-agenda hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/org-agenda
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-tangle hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-tangle
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-table hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-table
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-sqlite hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-sqlite
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-sql hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-sql
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-shen hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-shen
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-screen hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-screen
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-scheme hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-scheme
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-scala hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-scala
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-sass hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-sass
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-ruby hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-ruby
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-ref hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-ref
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-R hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-R
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-python hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-python
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-plantuml hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-plantuml
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-picolisp hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-picolisp
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-perl hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-perl
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-org hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-org
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-octave hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-octave
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-ocaml hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-ocaml
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-mscgen hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-mscgen
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-maxima hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-maxima
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-matlab hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-matlab
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-makefile hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-makefile
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-lob hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-lob
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-lisp hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-lisp
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-lilypond hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-lilypond
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-ledger hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-ledger
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-latex hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-latex
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-keys hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-keys
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-js hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-js
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-java hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-java
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-io hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-io
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-haskell hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-haskell
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-gnuplot hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-gnuplot
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-fortran hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-fortran
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-exp hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-exp
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-eval hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-eval
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-emacs-lisp
hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-emacs-lisp
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-dot hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-dot
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-ditaa hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-ditaa
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-css hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-css
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-core hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-core
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-comint hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-comint
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-clojure hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-clojure
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-calc hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-calc
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-C hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-C
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-awk hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-awk
/Users/dberrocal/.emacs.d/elpa/org-plus-contrib-20161010/ob-asymptote hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/org/ob-asymptote
/Users/dberrocal/.emacs.d/elpa/seq-2.16/seq hides
/usr/local/Cellar/emacs-plus/25.1-rc1/share/emacs/25.1/lisp/emacs-lisp/seq

Features:
(shadow mail-extr emacsbug sendmail magit-extras table ox-texinfo
ox-beamer gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap
utf7 netrc parse-time gnus-spec gnus-win loadhist editorconfig-conf-mode
helm-font woman man autoload mm-archive url-handlers helm-flx view
org-indent life eieio-opt speedbar sb-image ezimage dframe handoff
helm-gtags which-func pulse helm-company make-mode shell-pop
company-emacs-eclim eclim-completion company-c-headers two-column
iso-transl tramp-cache misearch multi-isearch hippie-exp
evil-iedit-state iedit iedit-lib cua-base evil-matchit-html
evil-matchit-simple evil-matchit-template evil-matchit-sdk golden-ratio
less-css-mode css-mode-expansions css-mode face-remap org-attach org-id
expand-region text-mode-expansions cc-mode-expansions
the-org-mode-expansions ruby-mode-expansions nxml-mode-expansions
js2-mode-expansions js-mode-expansions web-mode-expansions
html-mode-expansions er-basic-expansions expand-region-core
expand-region-custom gitignore-mode gitconfig-mode conf-mode
magit-subtree fill-column-indicator gravatar url-cache helm-descbinds
web-beautify whitespace company-web-html emmet-mode evil-matchit
web-mode helm-swoop helm-spacemacs-help helm-org git-link magit-gitflow
linum git-rebase magit-gh-pulls gh gh-users gh-issues gh-pulls gh-repos
gh-comments gh-gist gh-oauth gh-api logito gh-cache pcache eieio-base
gh-auth gh-url evil-magit magit-blame magit-stash magit-bisect
magit-remote magit-commit magit-sequence magit magit-apply magit-wip
magit-log magit-diff smerge-mode magit-core magit-autorevert
magit-process magit-popup magit-mode magit-git crm magit-section
magit-utils helm-command helm-elisp helm-eval edebug helm-ag
network-stream nsm starttls company-tern js-doc iswitchb
js2-imenu-extras js2-refactor js2r-paredit js2r-conveniences
js2r-conditionals js2r-wrapping js2r-functions js2r-vars
multiple-cursors-core js2r-iife js2r-formatting js2r-helpers skewer-mode
cache-table tern cursor-sensor js2-mode helm-projectile
emoji-cheat-sheet-plus coffee-mode nxml-uchnm rng-xsd xsd-regexp
rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse
rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln
nxml-rap nxml-util nxml-glyph nxml-enc xmltok json-mode json-reformat
json-snatcher js imenu company-emoji org-eldoc evil-org ob-ditaa ob-sql
ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs ob-gnuplot ob-scheme ob-latex ob-js ob-haskell
ob-sh ob-R ob-coffee ob-shell ob-python org-bullets org-download toc-org
ert debug image-file org-rmail org-mhe org-irc org-info org-gnus
org-docview doc-view jka-compr org-bibtex bibtex org-bbdb org-w3m tabify
zone open-junk-file ggtags company-statistics company-files
company-keywords company-etags company-gtags company-template
company-dabbrev-code company-dabbrev company-yasnippet company-capf
auto-compile packed elisp-slime-nav goto-addr bug-reference
auto-highlight-symbol highlight-numbers parent-mode
highlight-parentheses hideshow rainbow-delimiters ansible yasnippet
vc-git projectile grep ibuf-ext ibuffer recentf tree-widget erc-list
erc-menu erc-join erc-ring erc-pcomplete erc-netsplit erc-log erc-image
erc-hl-nicks erc-button erc-fill erc-stamp erc-social-graph erc-tex
erc-yt erc-track erc-match erc-services erc-networks erc-goodies erc
erc-backend erc-compat beacon evil-mc evil-mc-command-execute
evil-mc-command-record evil-mc-cursor-make evil-mc-region
evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands
evil-mc-common encourage-mode key-chord help-at-pt eclimd eclim
eclim-maven eclim-ant eclim-scala eclim-java eclim-problems
eclim-project eclim-common popup arc-mode archive-mode company-flx
suggest loop nvm dash-functional editorconfig mocha-snippets hl-todo
zone-nyan esxml xterm-color spacemacs-whitespace-cleanup ws-butler
winner window-numbering etags xref project volatile-highlights
vi-tilde-fringe vagrant-tramp term ehelp string-inflection
spaceline-config spaceline-segments spaceline soundcloud string-utils
list-utils smartparens-config smartparens-ruby smartparens-html
saveplace savehist ruby-test-mode pcre2el rxt re-builder ruby-mode
python-environment prodigy persp-mode ox-pandoc ox-org ox-koma-letter
ox-ioslide-helper makey ox-ioslide ox-latex ox-icalendar ox-html
ox-ascii ox-publish ox osx-trash org-tree-slide org-timer org-clock
org-protocol org-gcal org-archive request-deferred deferred request
url-http tls gnutls url-auth url-gw alert log4e notifications dbus gntp
ob-http ob-http-mode ob-mongo ob-browser nyan-mode nerd-fonts
nerd-fonts-data org-table keyfreq info+ image-mode ido-vertical-mode
helm-mode helm-files image-dired dired-x dired-aux ffap helm-buffers
helm-elscreen helm-tags helm-bookmark helm-adaptive helm-info
helm-locate helm-grep helm-regexp helm-external helm-net helm-utils
compile helm-help helm-types grunt nnrss nnmail gnus-int gnus-range
mail-source nnoo gmail-message-mode ham-mode markdown-mode
html-to-markdown git-gutter-fringe+ fringe-helper git-gutter+ git-commit
with-editor async-bytecomp async tramp-sh server log-edit pcvs-util
add-log tramp tramp-compat tramp-loaddefs trampver shell gh-common
gh-profile marshal general-close general-close-modes sh-script smie
executable sgml-mode fontawesome fontawesome-data flyspell-correct-helm
helm helm-source helm-multi-match helm-lib flyspell-correct flyspell
ispell flycheck-pos-tip flycheck-ledger flycheck flx-ido flx ido
firestarter eyebrowse evil-unimpaired f evil-surround
evil-search-highlight-persist evil-numbers evil-lisp-state smartparens
evil-indent-plus evil-exchange evil-escape evil-args evil-anzu anzu
eval-sexp-fu highlight emms-librefm-stream emms-librefm-scrobbler
emms-playlist-limit emms-volume emms-volume-amixer emms-i18n
emms-history emms-score emms-stream-info emms-metaplaylist-mode
emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort
emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq
emms-playing-time emms-lyrics emms-url emms-streams emms-show-all
emms-tag-editor emms-mark emms-mode-line emms-cache emms-info-ogginfo
emms-info-mp3info emms-info later-do emms-playlist-mode emms-player-vlc
emms-player-mplayer emms-player-simple emms-source-playlist
emms-source-file locate emms-setup emms emms-compat elfeed-web
simple-httpd elfeed-goodies-logging elfeed-goodies-new-entry-hooks
mm-url gnus gnus-ems nnheader elfeed-goodies-split-pane popwin
elfeed-goodies-show-mode ace-jump-mode noflet cl-indent
elfeed-goodies-search-mode powerline powerline-separators color
powerline-themes elfeed-goodies elfeed-org s org-element org org-macro
org-footnote org-pcomplete pcomplete org-list org-faces org-entities
org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-src ob-keys ob-comint comint ansi-color ob-core ob-eval org-compat
org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs
elfeed-csv elfeed-show message dired format-spec rfc822 mml mml-sec epg
mailabbrev mail-utils gmm-utils mailheader shr dom elfeed-db avl-tree
elfeed-search bookmark pp elfeed elfeed-curl elfeed-lib url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap elfeed-log url-queue browse-url xml-query xml
edit-server noutline outline diff-hl vc-dir ewoc vc vc-dispatcher
diff-mode coverlay company-web company-css company-quickhelp pos-tip
company web-completion-data clean-aindent-mode tex-site all-the-icons
all-the-icons-faces data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons font-lock+ dash adaptive-wrap hybrid-mode
exec-path-from-shell evil-evilified-state which-key use-package diminish
bind-key hydra lv cus-edit cus-start cus-load evil evil-integration
undo-tree diff evil-maps evil-commands evil-jumps evil-command-window
evil-types evil-search evil-ex evil-macros evil-repeat evil-states
evil-core evil-common windmove thingatpt rect evil-digraphs evil-vars
ring info bind-map quelpa url-parse auth-source gnus-util password-cache
url-vars package-build mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr json map lisp-mnt
hl-line xt-mouse autorevert filenotify rx disp-table wid-edit
monokai-theme finder-inf core-configuration-layer eieio-compat cl-seq ht
cl warnings package epg-config seq eieio byte-opt bytecomp byte-compile
cl-extra help-mode cconv eieio-core core-spacemacs core-use-package-ext
core-transient-state core-micro-state core-toggle core-keybindings
core-fonts-support core-spacemacs-buffer derived edmacro kmacro
core-funcs cl-macs gv core-themes-support core-display-init core-jump
core-auto-completion core-release-management core-dotspacemacs
core-command-line core-debug advice profiler easymenu cl-loaddefs cl-lib
page-break-lines easy-mmode subr-x pcase time-date mule-util tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
ns-win ucs-normalize term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote kqueue cocoa ns multi-tty
make-network-process emacs)

Memory information:
((conses 16 3206654 1615865)
 (symbols 48 134008 104)
 (miscs 40 15190 34409)
 (strings 32 458672 365866)
 (string-bytes 1 15112668)
 (vectors 16 303021)
 (vector-slots 8 7227736 1114427)
 (floats 8 36436 16911)
 (intervals 56 309946 46210)
 (buffers 976 263))

-- 
Diego Berrocal
http://cestdiego.github.io

[-- Attachment #2: Type: text/html, Size: 37705 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24739: 25.1; conf-mode can't handle non escaped single quotes
  2016-10-19 16:37 bug#24739: 25.1; conf-mode can't handle non escaped single quotes Diego Berrocal
@ 2019-07-27 13:43 ` Lars Ingebrigtsen
  2019-07-27 16:53   ` Noam Postavsky
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2019-07-27 13:43 UTC (permalink / raw)
  To: Diego Berrocal; +Cc: 24739

Diego Berrocal <cestdiego@gmail.com> writes:

> when in conf-mode, if one property has a value that has a single
> non escaped quote, then it will keep searching for the matching quote
> until the end of the file, which makes next properties not able to be
> font-locked
>
> Reproduction text:
>
> Switch to scratch buffer
>
> M-x conf-mode
>
> firstProperty=Hi I'm Diego
> secondProperty=I have a stringquote style.

(I'm going through older Emacs bug reports that have received no
response.)

I can confirm that this bug is still present in Emacs 27 -- everything
after the quote is in font-lock-string-face.

The confusing thing is that I can't even determine what's doing the
font-locking of that thing here.

This is the definition:

(defvar conf-font-lock-keywords
  '(;; [section] (do this first because it may look like a parameter)
    ("^[ \t]*\\[\\(.+\\)\\]" 1 'font-lock-type-face)
    ;; var=val or var[index]=val
    ("^[ \t]*\\(.+?\\)\\(?:\\[\\(.*?\\)\\]\\)?[ \t]*="
     (1 'font-lock-variable-name-face)
     (2 'font-lock-constant-face nil t))
    ;; section { ... } (do this last because some assign ...{...)
    ("^[ \t]*\\([^=:\n]+?\\)[ \t\n]*{[^{}]*?$" 1 'font-lock-type-face prepend))
  "Keywords to highlight in Conf mode.")

No font-lock-string-face in sight, and there's no mention of it in the
file.  So is this some general font-lock thing that's configured
somewhere else?  Anybody know how this stuff works?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24739: 25.1; conf-mode can't handle non escaped single quotes
  2019-07-27 13:43 ` Lars Ingebrigtsen
@ 2019-07-27 16:53   ` Noam Postavsky
  2019-07-28  9:50     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Noam Postavsky @ 2019-07-27 16:53 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 24739, Diego Berrocal

Lars Ingebrigtsen <larsi@gnus.org> writes:

>> firstProperty=Hi I'm Diego
>> secondProperty=I have a stringquote style.

> No font-lock-string-face in sight, and there's no mention of it in the
> file.  So is this some general font-lock thing that's configured
> somewhere else?  Anybody know how this stuff works?

font-lock-string-face comes from font-lock-syntactic-face-function,
because ' has string delimiter syntax in conf-mode (see
conf-mode-syntax-table).  I think it should be possible to make a
syntax-propertize rule that catches unmatched quotes and sets them to
punctuation syntax.  We do something similar in sgml-syntax-propertize.






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24739: 25.1; conf-mode can't handle non escaped single quotes
  2019-07-27 16:53   ` Noam Postavsky
@ 2019-07-28  9:50     ` Lars Ingebrigtsen
  2021-08-21 15:39       ` Michalis V.
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2019-07-28  9:50 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 24739, Diego Berrocal

Noam Postavsky <npostavs@gmail.com> writes:

> Lars Ingebrigtsen <larsi@gnus.org> writes:
>
>>> firstProperty=Hi I'm Diego
>>> secondProperty=I have a stringquote style.
>
>> No font-lock-string-face in sight, and there's no mention of it in the
>> file.  So is this some general font-lock thing that's configured
>> somewhere else?  Anybody know how this stuff works?
>
> font-lock-string-face comes from font-lock-syntactic-face-function,
> because ' has string delimiter syntax in conf-mode (see
> conf-mode-syntax-table).

Hm...  Oh!

    (modify-syntax-entry ?\' "\"" table)

I was searching for ?' and only found the entry in
conf-toml-mode-syntax-table.  I'll remove that superfluous backslash.

> I think it should be possible to make a syntax-propertize rule that
> catches unmatched quotes and sets them to punctuation syntax.  We do
> something similar in sgml-syntax-propertize.

I see.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24739: 25.1; conf-mode can't handle non escaped single quotes
  2019-07-28  9:50     ` Lars Ingebrigtsen
@ 2021-08-21 15:39       ` Michalis V.
  2021-08-22 21:40         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Michalis V. @ 2021-08-21 15:39 UTC (permalink / raw)
  To: Diego Berrocal; +Cc: Lars Ingebrigtsen, Noam Postavsky, 24739

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Noam Postavsky <npostavs@gmail.com> writes:
>
>> Lars Ingebrigtsen <larsi@gnus.org> writes:
>>
>>>> firstProperty=Hi I'm Diego
>>>> secondProperty=I have a stringquote style.
>>
>>> No font-lock-string-face in sight, and there's no mention of it in the
>>> file.  So is this some general font-lock thing that's configured
>>> somewhere else?  Anybody know how this stuff works?
>>
>> font-lock-string-face comes from font-lock-syntactic-face-function,
>> because ' has string delimiter syntax in conf-mode (see
>> conf-mode-syntax-table).
>
> Hm...  Oh!
>
>     (modify-syntax-entry ?\' "\"" table)
>
> I was searching for ?' and only found the entry in
> conf-toml-mode-syntax-table.  I'll remove that superfluous backslash.
>
>> I think it should be possible to make a syntax-propertize rule that
>> catches unmatched quotes and sets them to punctuation syntax.  We do
>> something similar in sgml-syntax-propertize.
>
> I see.

hi,

this conf-mode doesn't seem to follow the syntax-propertize structure so
it doesn't look very trivial to do something similar as in sgml mode
(at least as far as i managed to grasp the concept in there)..But the
conf-mode author(s) seem like they were aware of this font-locking
problem and had this workaround instead:

(defun conf-quote-normal (arg)
  "Set the syntax of \\=' and \" to punctuation.
With prefix ARG, only do it for \\=' if 1, or only for \" if 2.
This only affects the current buffer.  Some conf files use quotes
to delimit strings, while others allow quotes as simple parts of
the assigned value.  In those files font locking will be wrong,
and you can correct it with this command.  (Some files even do
both, i.e. quotes delimit strings, except when they are
unbalanced, but hey...)"
  (interactive "P")
  (let ((table (copy-syntax-table (syntax-table))))
    (when (or (not arg) (= (prefix-numeric-value arg) 1))
      (modify-syntax-entry ?\' "." table))
    (when (or (not arg) (= (prefix-numeric-value arg) 2))
      (modify-syntax-entry ?\" "." table))
    (set-syntax-table table)
    (font-lock-flush)))


which is bound to C-c C-q and it will temporarily fix the incorrect string
font-locking.. Any chance if it is sufficient for you Diego or do you think
a more permanent solution should be implemented instead?

thank you in advance,
Michalis





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24739: 25.1; conf-mode can't handle non escaped single quotes
  2021-08-21 15:39       ` Michalis V.
@ 2021-08-22 21:40         ` Lars Ingebrigtsen
  0 siblings, 0 replies; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-08-22 21:40 UTC (permalink / raw)
  To: Michalis V.; +Cc: Noam Postavsky, 24739, Diego Berrocal

"Michalis V." <mvar.40k@gmail.com> writes:

> which is bound to C-c C-q and it will temporarily fix the incorrect string
> font-locking.. Any chance if it is sufficient for you Diego or do you think
> a more permanent solution should be implemented instead?

Yeah, I guess there's just to many variations in the syntax here for the
mode to do something better than it does.

It was suggested to treat quotes like string quotes when they're paired,
but that would mean

foo=I'm here and I'm there

would have "m here and I" quoted as a string, which isn't much of an
improvement.

So I think the user should just use the `C-c C-q' command (as you point
out) if conf-mode is doing it wrong in that particular conf file, and
I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-08-22 21:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-19 16:37 bug#24739: 25.1; conf-mode can't handle non escaped single quotes Diego Berrocal
2019-07-27 13:43 ` Lars Ingebrigtsen
2019-07-27 16:53   ` Noam Postavsky
2019-07-28  9:50     ` Lars Ingebrigtsen
2021-08-21 15:39       ` Michalis V.
2021-08-22 21:40         ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).