unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: 18667@debbugs.gnu.org
Subject: bug#18667: 24.3.94; Error "Point 5215 after end of properties" inside re-search-forward
Date: Thu, 09 Oct 2014 04:51:14 +0400	[thread overview]
Message-ID: <86zjd6rrp9.fsf@yandex.ru> (raw)

(When using a company-mode backend, called `company-dabbrev').

I don't have a clear reproduction recipe, since the error comes and
goes. I've seen a report about it before
(https://github.com/company-mode/company-mode/issues/168), but only
started noticing it today myself. This seems to be an Emacs bug.

Is there a specific info I can produce to help troubleshooting?

At the given time, we're in a ruby-mode buffer, point is 2201, point-max
is 5222. 5215 is inside an "end" keyword, close to the end of the
buffer. window-end was around 874.

After retrying the operation that I was doing, the error disappeared.

The backtrace looks like this:

Debugger entered--Lisp error: (error "Point 5215 after end of properties")
  re-search-forward("\\<ns2\\(\\sw\\)*\\>" nil t)
  (while (re-search-forward regexp nil t) (setq match (match-string-no-properties 0)) (if (and ignore-comments (company-in-string-or-comment)) (re-search-forward "\\s>\\|\\s!\\|\\s\"" nil t) (if (>= (length match) company-dabbrev-minimum-length) (progn (setq symbols (cons match symbols))))) (and limit (eq (setq company-time-limit-while-counter (1+ company-time-limit-while-counter)) 25) (setq company-time-limit-while-counter 0) (> (float-time (time-since start)) limit) (throw (quote done) (quote company-time-out))))
  (catch (quote done) (while (re-search-forward regexp nil t) (setq match (match-string-no-properties 0)) (if (and ignore-comments (company-in-string-or-comment)) (re-search-forward "\\s>\\|\\s!\\|\\s\"" nil t) (if (>= (length match) company-dabbrev-minimum-length) (progn (setq symbols (cons match symbols))))) (and limit (eq (setq company-time-limit-while-counter (1+ company-time-limit-while-counter)) 25) (setq company-time-limit-while-counter 0) (> (float-time (time-since start)) limit) (throw (quote done) (quote company-time-out)))))
  (let ((company-time-limit-while-counter 0)) (catch (quote done) (while (re-search-forward regexp nil t) (setq match (match-string-no-properties 0)) (if (and ignore-comments (company-in-string-or-comment)) (re-search-forward "\\s>\\|\\s!\\|\\s\"" nil t) (if (>= (length match) company-dabbrev-minimum-length) (progn (setq symbols (cons match symbols))))) (and limit (eq (setq company-time-limit-while-counter (1+ company-time-limit-while-counter)) 25) (setq company-time-limit-while-counter 0) (> (float-time (time-since start)) limit) (throw (quote done) (quote company-time-out))))))
  (let (match) (goto-char (if pos (1- pos) (point-min))) (let ((company-time-limit-while-counter 0)) (catch (quote done) (while (re-search-backward regexp nil t) (setq match (match-string-no-properties 0)) (if (and ignore-comments (company-in-string-or-comment)) (goto-char (nth 8 (syntax-ppss))) (if (>= (length match) company-dabbrev-minimum-length) (progn (setq symbols ...)))) (and limit (eq (setq company-time-limit-while-counter (1+ company-time-limit-while-counter)) 25) (setq company-time-limit-while-counter 0) (> (float-time (time-since start)) limit) (throw (quote done) (quote company-time-out)))))) (goto-char (or pos (point-min))) (let ((company-time-limit-while-counter 0)) (catch (quote done) (while (re-search-forward regexp nil t) (setq match (match-string-no-properties 0)) (if (and ignore-comments (company-in-string-or-comment)) (re-search-forward "\\s>\\|\\s!\\|\\s\"" nil t) (if (>= (length match) company-dabbrev-minimum-length) (progn (setq symbols ...)))) (and limit (eq (setq company-time-limit-while-counter (1+ company-time-limit-while-counter)) 25) (setq company-time-limit-while-counter 0) (> (float-time (time-since start)) limit) (throw (quote done) (quote company-time-out)))))) symbols)
  (save-excursion (let (match) (goto-char (if pos (1- pos) (point-min))) (let ((company-time-limit-while-counter 0)) (catch (quote done) (while (re-search-backward regexp nil t) (setq match (match-string-no-properties 0)) (if (and ignore-comments (company-in-string-or-comment)) (goto-char (nth 8 ...)) (if (>= ... company-dabbrev-minimum-length) (progn ...))) (and limit (eq (setq company-time-limit-while-counter ...) 25) (setq company-time-limit-while-counter 0) (> (float-time ...) limit) (throw (quote done) (quote company-time-out)))))) (goto-char (or pos (point-min))) (let ((company-time-limit-while-counter 0)) (catch (quote done) (while (re-search-forward regexp nil t) (setq match (match-string-no-properties 0)) (if (and ignore-comments (company-in-string-or-comment)) (re-search-forward "\\s>\\|\\s!\\|\\s\"" nil t) (if (>= ... company-dabbrev-minimum-length) (progn ...))) (and limit (eq (setq company-time-limit-while-counter ...) 25) (setq company-time-limit-while-counter 0) (> (float-time ...) limit) (throw (quote done) (quote company-time-out)))))) symbols))
  company-dabbrev--search-buffer("\\<ns2\\(\\sw\\)*\\>" 255 nil (21557 55762 933926 188000) 0.1 nil)
  (let* ((start (current-time)) (symbols (company-dabbrev--search-buffer regexp (point) nil start limit ignore-comments))) (if other-buffer-modes (progn (catch (quote --cl-block-nil--) (let ((--dolist-tail-- (delq ... ...))) (while --dolist-tail-- (let (...) (save-current-buffer ... ...) (and limit ... ...) (setq --dolist-tail-- ...))))))) symbols)
  company-dabbrev--search("\\<ns2\\(\\sw\\)*\\>" 0.1 all)
  (let* ((case-fold-search company-dabbrev-ignore-case) (words (company-dabbrev--search (company-dabbrev--make-regexp arg) company-dabbrev-time-limit (cond ((eq company-dabbrev-other-buffers (quote t)) (let nil (list major-mode))) ((eq company-dabbrev-other-buffers (quote all)) (let nil (quote all))) (t nil)))) (downcase-p (if (eq company-dabbrev-downcase (quote case-replace)) case-replace company-dabbrev-downcase))) (if downcase-p (mapcar (quote downcase) words) words))
  (cond ((eql command (quote interactive)) (company-begin-backend (quote company-dabbrev))) ((eql command (quote prefix)) (company-grab-word)) ((eql command (quote candidates)) (let* ((case-fold-search company-dabbrev-ignore-case) (words (company-dabbrev--search (company-dabbrev--make-regexp arg) company-dabbrev-time-limit (cond (... ...) (... ...) (t nil)))) (downcase-p (if (eq company-dabbrev-downcase (quote case-replace)) case-replace company-dabbrev-downcase))) (if downcase-p (mapcar (quote downcase) words) words))) ((eql command (quote ignore-case)) company-dabbrev-ignore-case) ((eql command (quote duplicates)) t))
  company-dabbrev(candidates #("ns2" 0 3 (fontified t face font-lock-string-face)))


In GNU Emacs 24.3.94.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
 of 2014-10-06 on axl
Repository revision: 117555 sdl.web@gmail.com-20141005005838-oyl694hqhu2d3632
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:	Ubuntu 14.04.1 LTS





             reply	other threads:[~2014-10-09  0:51 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-09  0:51 Dmitry Gutov [this message]
2015-11-25  0:42 ` bug#18667: 24.3.94; Error "Point 5215 after end of properties" inside re-search-forward Dmitry Gutov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86zjd6rrp9.fsf@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=18667@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).