unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#24132: 25.1.50; Missing fontification for header names in C++ mode
@ 2016-08-02 15:17 Phil
  2016-08-03 20:44 ` Alan Mackenzie
  0 siblings, 1 reply; 4+ messages in thread
From: Phil @ 2016-08-02 15:17 UTC (permalink / raw)
  To: 24132


src/emacs -Q -eval '(progn (insert "#include \"foo/bar.h\"")(c++-mode)(backward-char 11)(delete-char 1) (insert "\""))'

Expected: The header name "foo/bar.h" is fontified as string.
Actual: the header name isn't fontified.


In GNU Emacs 25.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
 of 2016-08-02 built on unknown
Repository revision: 53917616b0aca43b9ca85531d4dcb426885bdb73
Windowing system distributor 'The X.Org Foundation', version 11.0.11702000
System Description:	Ubuntu 14.04 LTS

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured features:
XPM JPEG TIFF GIF PNG SOUND GSETTINGS NOTIFY GNUTLS FREETYPE XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11

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

Major mode: C++/l

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message cl-macs subr-x puny seq byte-opt
bytecomp byte-compile cl-extra help-mode cconv dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config
gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils cc-mode cc-fonts easymenu
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl gv cl-loaddefs pcase cl-lib time-date mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win
x-win term/common-win x-dnd 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 term/tty-colors 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 obarray 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 inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 118360 7441)
 (symbols 48 23122 0)
 (miscs 40 291 154)
 (strings 32 23801 4471)
 (string-bytes 1 851823)
 (vectors 16 16334)
 (vector-slots 8 476603 3979)
 (floats 8 182 28)
 (intervals 56 203 0)
 (buffers 976 11)
 (heap 1024 41599 1154))





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

* bug#24132: 25.1.50; Missing fontification for header names in C++ mode
  2016-08-02 15:17 bug#24132: 25.1.50; Missing fontification for header names in C++ mode Phil
@ 2016-08-03 20:44 ` Alan Mackenzie
  2016-08-08 23:15   ` Philipp Stephani
  0 siblings, 1 reply; 4+ messages in thread
From: Alan Mackenzie @ 2016-08-03 20:44 UTC (permalink / raw)
  To: Phil; +Cc: 24132

Hello, Phil.

On Tue, Aug 02, 2016 at 11:17:06AM -0400, Phil wrote:

> src/emacs -Q -eval '(progn (insert "#include \"foo/bar.h\"")(c++-mode)(backward-char 11)(delete-char 1) (insert "\""))'

> Expected: The header name "foo/bar.h" is fontified as string.
> Actual: the header name isn't fontified.

Thanks for taking the trouble to report this.

Could you please try out the following patch to CC Mode, and either
confirm that it solves the problem, or tell me what's still not working
properly.  Thanks in advance!  (The file to patch is in directory
.../lisp/progmodes.)

> In GNU Emacs 25.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
>  of 2016-08-02 built on unknown
> Repository revision: 53917616b0aca43b9ca85531d4dcb426885bdb73
> Windowing system distributor 'The X.Org Foundation', version 11.0.11702000
> System Description:	Ubuntu 14.04 LTS

[ .... ]

> Major mode: C++/l

> Minor modes in effect:
>   tooltip-mode: t
>   global-eldoc-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   tool-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
>   abbrev-mode: t

[ .... ]



diff -r df6a39556cd1 cc-mode.el
--- a/cc-mode.el	Sat Jul 23 14:46:28 2016 +0000
+++ b/cc-mode.el	Wed Aug 03 19:56:05 2016 +0000
@@ -874,24 +874,31 @@
   ;; This function is in the C/C++/ObjC values of
   ;; `c-get-state-before-change-functions' and is called exclusively as a
   ;; before change function.
-  (c-save-buffer-state ()
+  (c-save-buffer-state (m-beg ss-found)
     (goto-char c-new-BEG)
     (while (and (< (point) beg)
-		(search-forward-regexp c-anchored-cpp-prefix beg t))
+		(search-forward-regexp c-anchored-cpp-prefix beg 'bound))
       (goto-char (match-beginning 1))
-      (let ((m-beg (point)))
-	(c-end-of-macro)
-	(c-clear-char-property-with-value
-	 m-beg (min (point) beg) 'syntax-table '(1))))
+      (setq m-beg (point))
+      (c-end-of-macro)
+      (c-clear-char-property-with-value m-beg (point) 'syntax-table '(1)))
 
-    (goto-char end)
+    (while (and (< (point) end)
+		(setq ss-found
+		      (search-forward-regexp c-anchored-cpp-prefix end 'bound)))
+      (goto-char (match-beginning 1))
+      (setq m-beg (point))
+      (c-end-of-macro))
+    (if (and ss-found (> (point) end))
+	(c-clear-char-property-with-value m-beg (point) 'syntax-table '(1)))
+    
     (while (and (< (point) c-new-END)
-		(search-forward-regexp c-anchored-cpp-prefix c-new-END t))
+		(search-forward-regexp c-anchored-cpp-prefix c-new-END 'bound))
       (goto-char (match-beginning 1))
-      (let ((m-beg (point)))
-	(c-end-of-macro)
-	(c-clear-char-property-with-value
-	 m-beg (min (point) c-new-END) 'syntax-table '(1))))))
+      (setq m-beg (point))
+      (c-end-of-macro)
+      (c-clear-char-property-with-value
+       m-beg (point) 'syntax-table '(1)))))
 
 (defun c-extend-region-for-CPP (beg end)
   ;; Adjust `c-new-BEG', `c-new-END' respectively to the beginning and end of


-- 
Alan Mackenzie (Nuremberg, Germany).





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

* bug#24132: 25.1.50; Missing fontification for header names in C++ mode
  2016-08-03 20:44 ` Alan Mackenzie
@ 2016-08-08 23:15   ` Philipp Stephani
  2016-08-09 10:44     ` Alan Mackenzie
  0 siblings, 1 reply; 4+ messages in thread
From: Philipp Stephani @ 2016-08-08 23:15 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: 24132

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

Alan Mackenzie <acm@muc.de> schrieb am Mi., 3. Aug. 2016 um 13:45 Uhr:

> Hello, Phil.
>
> On Tue, Aug 02, 2016 at 11:17:06AM -0400, Phil wrote:
>
> > src/emacs -Q -eval '(progn (insert "#include
> \"foo/bar.h\"")(c++-mode)(backward-char 11)(delete-char 1) (insert "\""))'
>
> > Expected: The header name "foo/bar.h" is fontified as string.
> > Actual: the header name isn't fontified.
>
> Thanks for taking the trouble to report this.
>
> Could you please try out the following patch to CC Mode, and either
> confirm that it solves the problem, or tell me what's still not working
> properly.  Thanks in advance!  (The file to patch is in directory
> .../lisp/progmodes.)
>
>
Thanks Alan, the patch indeed fixes the problem.

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

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

* bug#24132: 25.1.50; Missing fontification for header names in C++ mode
  2016-08-08 23:15   ` Philipp Stephani
@ 2016-08-09 10:44     ` Alan Mackenzie
  0 siblings, 0 replies; 4+ messages in thread
From: Alan Mackenzie @ 2016-08-09 10:44 UTC (permalink / raw)
  To: Philipp Stephani, 24132-done

Hello, Phil.

On Mon, Aug 08, 2016 at 11:15:42PM +0000, Philipp Stephani wrote:
> Alan Mackenzie <acm@muc.de> schrieb am Mi., 3. Aug. 2016 um 13:45 Uhr:

> > Could you please try out the following patch to CC Mode, and either
> > confirm that it solves the problem, or tell me what's still not working
> > properly.  Thanks in advance!  (The file to patch is in directory
> > .../lisp/progmodes.)


> Thanks Alan, the patch indeed fixes the problem.

OK, thnaks.  I've committed the patch, and am now closing the bug.

-- 
Alan Mackenzie (Nuremberg, Germany).





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

end of thread, other threads:[~2016-08-09 10:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-02 15:17 bug#24132: 25.1.50; Missing fontification for header names in C++ mode Phil
2016-08-03 20:44 ` Alan Mackenzie
2016-08-08 23:15   ` Philipp Stephani
2016-08-09 10:44     ` Alan Mackenzie

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).