------------------------------------------------------------ revno: 117913 committer: Dmitry Antipov branch nick: trunk timestamp: Mon 2014-09-22 10:06:19 +0400 message: Avoid extra call to oblookup when interning symbols. * lisp.h (intern_driver): Add prototype. * lread.c (intern_driver): New function. (intern1, intern_c_string_1, Fintern): * font.c (font_intern_prop): * w32font.c (intern_font_name): Use it. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-09-21 22:49:24 +0000 +++ src/ChangeLog 2014-09-22 06:06:19 +0000 @@ -1,3 +1,12 @@ +2014-09-22 Dmitry Antipov + + Avoid extra call to oblookup when interning symbols. + * lisp.h (intern_driver): Add prototype. + * lread.c (intern_driver): New function. + (intern1, intern_c_string_1, Fintern): + * font.c (font_intern_prop): + * w32font.c (intern_font_name): Use it. + 2014-09-21 Paul Eggert Minor improvements to new stack-allocated Lisp objects. === modified file 'src/font.c' --- src/font.c 2014-09-15 14:53:23 +0000 +++ src/font.c 2014-09-22 06:06:19 +0000 @@ -277,10 +277,8 @@ Lisp_Object font_intern_prop (const char *str, ptrdiff_t len, bool force_symbol) { - ptrdiff_t i; - Lisp_Object tem; - Lisp_Object obarray; - ptrdiff_t nbytes, nchars; + ptrdiff_t i, nbytes, nchars; + Lisp_Object tem, name, obarray; if (len == 1 && *str == '*') return Qnil; @@ -311,12 +309,11 @@ parse_str_as_multibyte ((unsigned char *) str, len, &nchars, &nbytes); tem = oblookup (obarray, str, (len == nchars || len != nbytes) ? len : nchars, len); - if (SYMBOLP (tem)) return tem; - tem = make_specified_string (str, nchars, len, - len != nchars && len == nbytes); - return Fintern (tem, obarray); + name = make_specified_string (str, nchars, len, + len != nchars && len == nbytes); + return intern_driver (name, obarray, XINT (tem)); } /* Return a pixel size of font-spec SPEC on frame F. */ === modified file 'src/lisp.h' --- src/lisp.h 2014-09-21 22:49:24 +0000 +++ src/lisp.h 2014-09-22 06:06:19 +0000 @@ -3877,6 +3877,7 @@ extern Lisp_Object check_obarray (Lisp_Object); extern Lisp_Object intern_1 (const char *, ptrdiff_t); extern Lisp_Object intern_c_string_1 (const char *, ptrdiff_t); +extern Lisp_Object intern_driver (Lisp_Object, Lisp_Object, ptrdiff_t); extern Lisp_Object oblookup (Lisp_Object, const char *, ptrdiff_t, ptrdiff_t); INLINE void LOADHIST_ATTACH (Lisp_Object x) === modified file 'src/lread.c' --- src/lread.c 2014-09-16 08:20:08 +0000 +++ src/lread.c 2014-09-22 06:06:19 +0000 @@ -3807,6 +3807,30 @@ return obarray; } +/* Intern a symbol with name STRING in OBARRAY using bucket INDEX. */ + +Lisp_Object +intern_driver (Lisp_Object string, Lisp_Object obarray, ptrdiff_t index) +{ + Lisp_Object *ptr, sym = Fmake_symbol (string); + + XSYMBOL (sym)->interned = (EQ (obarray, initial_obarray) + ? SYMBOL_INTERNED_IN_INITIAL_OBARRAY + : SYMBOL_INTERNED); + + if ((SREF (string, 0) == ':') && EQ (obarray, initial_obarray)) + { + XSYMBOL (sym)->constant = 1; + XSYMBOL (sym)->redirect = SYMBOL_PLAINVAL; + SET_SYMBOL_VAL (XSYMBOL (sym), sym); + } + + ptr = aref_addr (obarray, index); + set_symbol_next (sym, SYMBOLP (*ptr) ? XSYMBOL (*ptr) : NULL); + *ptr = sym; + return sym; +} + /* Intern the C string STR: return a symbol with that name, interned in the current obarray. */ @@ -3816,7 +3840,8 @@ Lisp_Object obarray = check_obarray (Vobarray); Lisp_Object tem = oblookup (obarray, str, len, len); - return SYMBOLP (tem) ? tem : Fintern (make_string (str, len), obarray); + return SYMBOLP (tem) ? tem : intern_driver (make_string (str, len), + obarray, XINT (tem)); } Lisp_Object @@ -3825,16 +3850,14 @@ Lisp_Object obarray = check_obarray (Vobarray); Lisp_Object tem = oblookup (obarray, str, len, len); - if (SYMBOLP (tem)) - return tem; - - if (NILP (Vpurify_flag)) - /* Creating a non-pure string from a string literal not - implemented yet. We could just use make_string here and live - with the extra copy. */ - emacs_abort (); - - return Fintern (make_pure_c_string (str, len), obarray); + if (!SYMBOLP (tem)) + { + /* Creating a non-pure string from a string literal not implemented yet. + We could just use make_string here and live with the extra copy. */ + eassert (!NILP (Vpurify_flag)); + tem = intern_driver (make_pure_c_string (str, len), obarray, XINT (tem)); + } + return tem; } DEFUN ("intern", Fintern, Sintern, 1, 2, 0, @@ -3844,43 +3867,16 @@ it defaults to the value of `obarray'. */) (Lisp_Object string, Lisp_Object obarray) { - register Lisp_Object tem, sym, *ptr; - - if (NILP (obarray)) obarray = Vobarray; - obarray = check_obarray (obarray); - + Lisp_Object tem; + + obarray = check_obarray (NILP (obarray) ? Vobarray : obarray); CHECK_STRING (string); - tem = oblookup (obarray, SSDATA (string), - SCHARS (string), - SBYTES (string)); - if (!INTEGERP (tem)) - return tem; - - if (!NILP (Vpurify_flag)) - string = Fpurecopy (string); - sym = Fmake_symbol (string); - - if (EQ (obarray, initial_obarray)) - XSYMBOL (sym)->interned = SYMBOL_INTERNED_IN_INITIAL_OBARRAY; - else - XSYMBOL (sym)->interned = SYMBOL_INTERNED; - - if ((SREF (string, 0) == ':') - && EQ (obarray, initial_obarray)) - { - XSYMBOL (sym)->constant = 1; - XSYMBOL (sym)->redirect = SYMBOL_PLAINVAL; - SET_SYMBOL_VAL (XSYMBOL (sym), sym); - } - - ptr = aref_addr (obarray, XINT (tem)); - if (SYMBOLP (*ptr)) - set_symbol_next (sym, XSYMBOL (*ptr)); - else - set_symbol_next (sym, NULL); - *ptr = sym; - return sym; + tem = oblookup (obarray, SSDATA (string), SCHARS (string), SBYTES (string)); + if (!SYMBOLP (tem)) + tem = intern_driver (NILP (Vpurify_flag) ? string + : Fpurecopy (string), obarray, XINT (tem)); + return tem; } DEFUN ("intern-soft", Fintern_soft, Sintern_soft, 1, 2, 0, === modified file 'src/w32font.c' --- src/w32font.c 2014-09-16 11:43:49 +0000 +++ src/w32font.c 2014-09-22 06:06:19 +0000 @@ -291,7 +291,7 @@ Lisp_Object obarray = check_obarray (Vobarray); Lisp_Object tem = oblookup (obarray, SDATA (str), len, len); /* This code is similar to intern function from lread.c. */ - return SYMBOLP (tem) ? tem : Fintern (str, obarray); + return SYMBOLP (tem) ? tem : intern_driver (str, obarray, XINT (tem)); } /* w32 implementation of get_cache for font backend. ------------------------------------------------------------ revno: 117912 committer: Paul Eggert branch nick: trunk timestamp: Sun 2014-09-21 15:49:24 -0700 message: Minor improvements to new stack-allocated Lisp objects. * frame.h (FRAME_PARAMETER): Prefer scoped_list1 to local_list1 where either would do. * lisp.h (scoped_list4): New macro. (local_cons, local_list1, local_list2, local_list3, local_list4) (make_local_vector, make_local_string, build_local_string): Prefer functions to macros where either would do. * xdisp.c (build_desired_tool_bar_string): Prefer scoped_list4 to local_list4 where either would do. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-09-18 11:34:24 +0000 +++ src/ChangeLog 2014-09-21 22:49:24 +0000 @@ -1,3 +1,15 @@ +2014-09-21 Paul Eggert + + Minor improvements to new stack-allocated Lisp objects. + * frame.h (FRAME_PARAMETER): + Prefer scoped_list1 to local_list1 where either would do. + * lisp.h (scoped_list4): New macro. + (local_cons, local_list1, local_list2, local_list3, local_list4) + (make_local_vector, make_local_string, build_local_string): + Prefer functions to macros where either would do. + * xdisp.c (build_desired_tool_bar_string): + Prefer scoped_list4 to local_list4 where either would do. + 2014-09-18 Dmitry Antipov More and more stack-allocated Lisp objects if USE_LOCAL_ALLOCATORS. === modified file 'src/frame.h' --- src/frame.h 2014-09-18 11:34:24 +0000 +++ src/frame.h 2014-09-21 22:49:24 +0000 @@ -1063,7 +1063,7 @@ /* Handy macro to construct an argument to Fmodify_frame_parameters. */ #define FRAME_PARAMETER(parameter, value) \ - local_list1 (scoped_cons (parameter, value)) + scoped_list1 (scoped_cons (parameter, value)) /* False means there are no visible garbaged frames. */ extern bool frame_garbaged; === modified file 'src/lisp.h' --- src/lisp.h 2014-09-18 11:34:24 +0000 +++ src/lisp.h 2014-09-21 22:49:24 +0000 @@ -4590,13 +4590,15 @@ /* Convenient utility macros similar to listX functions. */ #if USE_STACK_LISP_OBJECTS -# define scoped_list1(x) scoped_cons (x, Qnil) -# define scoped_list2(x, y) scoped_cons (x, scoped_list1 (y)) -# define scoped_list3(x, y, z) scoped_cons (x, scoped_list2 (y, z)) +# define scoped_list1(a) scoped_cons (a, Qnil) +# define scoped_list2(a, b) scoped_cons (a, scoped_list1 (b)) +# define scoped_list3(a, b, c) scoped_cons (a, scoped_list2 (b, c)) +# define scoped_list4(a, b, c, d) scoped_cons (a, scoped_list3 (b, c, d)) #else -# define scoped_list1(x) list1 (x) -# define scoped_list2(x, y) list2 (x, y) -# define scoped_list3(x, y, z) list3 (x, y, z) +# define scoped_list1(a) list1 (a) +# define scoped_list2(a, b) list2 (a, b) +# define scoped_list3(a, b, c) list3 (a, b, c) +# define scoped_list4(a, b, c, d) list4 (a, b, c, d) #endif /* Local allocators require both statement expressions and a @@ -4620,10 +4622,10 @@ make_lisp_ptr (c_, Lisp_Cons); \ }) -# define local_list1(x) local_cons (x, Qnil) -# define local_list2(x, y) local_cons (x, local_list1 (y)) -# define local_list3(x, y, z) local_cons (x, local_list2 (y, z)) -# define local_list4(x, y, z, t) local_cons (x, local_list3 (y, z, t)) +# define local_list1(a) local_cons (a, Qnil) +# define local_list2(a, b) local_cons (a, local_list1 (b)) +# define local_list3(a, b, c) local_cons (a, local_list2 (b, c)) +# define local_list4(a, b, c, d) local_cons (a, local_list3 (b, c, d)) /* Return a function-scoped vector of length SIZE, with each element being INIT. */ @@ -4670,14 +4672,46 @@ #else /* Safer but slower implementations. */ -# define local_cons(car, cdr) Fcons (car, cdr) -# define local_list1(x) list1 (x) -# define local_list2(x, y) list2 (x, y) -# define local_list3(x, y, z) list3 (x, y, z) -# define local_list4(x, y, z, t) list4 (x, y, z, t) -# define make_local_vector(size, init) Fmake_vector (make_number (size), init) -# define make_local_string(data, nbytes) make_string (data, nbytes) -# define build_local_string(data) build_string (data) +INLINE Lisp_Object +local_cons (Lisp_Object car, Lisp_Object cdr) +{ + return Fcons (car, cdr); +} +INLINE Lisp_Object +local_list1 (Lisp_Object a) +{ + return list1 (a); +} +INLINE Lisp_Object +local_list2 (Lisp_Object a, Lisp_Object b) +{ + return list2 (a, b); +} +INLINE Lisp_Object +local_list3 (Lisp_Object a, Lisp_Object b, Lisp_Object c) +{ + return list3 (a, b, c); +} +INLINE Lisp_Object +local_list4 (Lisp_Object a, Lisp_Object b, Lisp_Object c, Lisp_Object d) +{ + return list4 (a, b, c, d); +} +INLINE Lisp_Object +make_local_vector (ptrdiff_t size, Lisp_Object init) +{ + return Fmake_vector (make_number (size), init); +} +INLINE Lisp_Object +make_local_string (char const *str, ptrdiff_t nbytes) +{ + return make_string (str, nbytes); +} +INLINE Lisp_Object +build_local_string (const char *str) +{ + return build_string (str); +} #endif === modified file 'src/xdisp.c' --- src/xdisp.c 2014-09-18 11:34:24 +0000 +++ src/xdisp.c 2014-09-21 22:49:24 +0000 @@ -12038,11 +12038,11 @@ build_desired_tool_bar_string (struct frame *f) { int i, size, size_needed; - struct gcpro gcpro1, gcpro2, gcpro3; - Lisp_Object image, plist, props; + struct gcpro gcpro1, gcpro2; + Lisp_Object image, plist; - image = plist = props = Qnil; - GCPRO3 (image, plist, props); + image = plist = Qnil; + GCPRO2 (image, plist); /* Prepare F->desired_tool_bar_string. If we can reuse it, do so. Otherwise, make a new string. */ @@ -12061,9 +12061,12 @@ (f, Fmake_string (make_number (size_needed), make_number (' '))); else { - props = local_list4 (Qdisplay, Qnil, Qmenu_item, Qnil); + Lisp_Object props = scoped_list4 (Qdisplay, Qnil, Qmenu_item, Qnil); + struct gcpro gcpro1; + GCPRO1 (props); Fremove_text_properties (make_number (0), make_number (size), props, f->desired_tool_bar_string); + UNGCPRO; } /* Put a `display' property on the string for the images to display, @@ -12174,8 +12177,11 @@ the start of this item's properties in the tool-bar items vector. */ image = Fcons (Qimage, plist); - props = local_list4 (Qdisplay, image, Qmenu_item, - make_number (i * TOOL_BAR_ITEM_NSLOTS)); + Lisp_Object props + = scoped_list4 (Qdisplay, image, Qmenu_item, + make_number (i * TOOL_BAR_ITEM_NSLOTS)); + struct gcpro gcpro1; + GCPRO1 (props); /* Let the last image hide all remaining spaces in the tool bar string. The string can be longer than needed when we reuse a @@ -12186,6 +12192,7 @@ end = i + 1; Fadd_text_properties (make_number (i), make_number (end), props, f->desired_tool_bar_string); + UNGCPRO; #undef PROP } ------------------------------------------------------------ revno: 117911 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18478 author: Tom Willemse committer: Stefan Monnier branch nick: trunk timestamp: Sun 2014-09-21 18:09:40 -0400 message: * lisp/simple.el (clone-indirect-buffer): Mention the return value. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-09-21 22:07:26 +0000 +++ lisp/ChangeLog 2014-09-21 22:09:40 +0000 @@ -1,5 +1,8 @@ 2014-09-17 Tom Willemse (tiny change) + * simple.el (clone-indirect-buffer): Mention the return value + (bug#18478). + * progmodes/prog-mode.el (prog-mode-hook): Replace reference to Text mode in docstring (bug#18464). === modified file 'lisp/simple.el' --- lisp/simple.el 2014-08-28 01:59:29 +0000 +++ lisp/simple.el 2014-09-21 22:09:40 +0000 @@ -7577,7 +7577,9 @@ This is always done when called interactively. Optional third arg NORECORD non-nil means do not put this buffer at the -front of the list of recently selected ones." +front of the list of recently selected ones. + +Returns the newly created indirect buffer." (interactive (progn (if (get major-mode 'no-clone-indirect) ------------------------------------------------------------ revno: 117910 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18464 author: Tom Willemse committer: Stefan Monnier branch nick: trunk timestamp: Sun 2014-09-21 18:07:26 -0400 message: * lisp/progmodes/prog-mode.el (prog-mode-hook): Replace reference to Text mode in docstring. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-09-21 22:00:28 +0000 +++ lisp/ChangeLog 2014-09-21 22:07:26 +0000 @@ -1,3 +1,8 @@ +2014-09-17 Tom Willemse (tiny change) + + * progmodes/prog-mode.el (prog-mode-hook): Replace reference to + Text mode in docstring (bug#18464). + 2014-09-21 Stefan Monnier * progmodes/perl-mode.el (perl-syntax-propertize-function): @@ -41,8 +46,7 @@ * image-mode.el (image-toggle-display-image): If we have a `fit-width' or a `fit-height', don't limit the size of the image - to the window size, because that doesn't preserve the aspect - ratio. + to the window size, because that doesn't preserve the aspect ratio. * image-mode.el: Move defvars earlier to avoid a byte-compilation warning. === modified file 'lisp/progmodes/prog-mode.el' --- lisp/progmodes/prog-mode.el 2014-08-08 13:51:47 +0000 +++ lisp/progmodes/prog-mode.el 2014-09-21 22:07:26 +0000 @@ -36,7 +36,7 @@ :group 'languages) (defcustom prog-mode-hook nil - "Normal hook run when entering Text mode and many related modes." + "Normal hook run when entering programming modes." :type 'hook :options '(flyspell-prog-mode abbrev-mode flymake-mode linum-mode prettify-symbols-mode) ------------------------------------------------------------ revno: 117909 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18502 committer: Stefan Monnier branch nick: trunk timestamp: Sun 2014-09-21 18:00:28 -0400 message: * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): Accept underscores in identifiers after "sub". diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-09-21 09:34:02 +0000 +++ lisp/ChangeLog 2014-09-21 22:00:28 +0000 @@ -1,3 +1,8 @@ +2014-09-21 Stefan Monnier + + * progmodes/perl-mode.el (perl-syntax-propertize-function): + Accept underscores in identifiers after "sub" (bug#18502). + 2014-09-21 Tassilo Horn * textmodes/reftex-sel.el (reftex-select-label-mode) @@ -6491,7 +6496,7 @@ COMMAND-alternatives variable, assign COMMAND as its definition name so that `describe-variable' can relocate it. -2014-01-14 Matthew Leach (tiny change) +2014-01-14 Matthew Leach * font-lock.el (font-lock-keywords): Fix typo in docstring (bug#16307). === modified file 'lisp/progmodes/perl-mode.el' --- lisp/progmodes/perl-mode.el 2014-07-08 16:51:35 +0000 +++ lisp/progmodes/perl-mode.el 2014-09-21 22:00:28 +0000 @@ -254,7 +254,7 @@ (1 (prog1 "\"" (perl-syntax-propertize-special-constructs end)))) ;; Funny things in `sub' arg-specs like `sub myfun ($)' or `sub ($)'. ;; Be careful not to match "sub { (...) ... }". - ("\\ branch nick: trunk timestamp: Sun 2014-09-21 06:22:38 -0400 message: Auto-commit of loaddefs files. diff: === modified file 'lisp/textmodes/reftex.el' --- lisp/textmodes/reftex.el 2014-06-25 10:17:41 +0000 +++ lisp/textmodes/reftex.el 2014-09-21 10:22:38 +0000 @@ -2997,7 +2997,7 @@ ;;;*** -;;;### (autoloads nil "reftex-sel" "reftex-sel.el" "086c2dd94aedc95620c5e972ad4c741a") +;;;### (autoloads nil "reftex-sel" "reftex-sel.el" "4ffdcf92acf13e0e93cfac51b6e0607c") ;;; Generated autoloads from reftex-sel.el (autoload 'reftex-select-label-mode "reftex-sel" "\ @@ -3050,7 +3050,7 @@ ;;;*** -;;;### (autoloads nil "reftex-toc" "reftex-toc.el" "0364fac43b02eee087ee4cbe37f7f76c") +;;;### (autoloads nil "reftex-toc" "reftex-toc.el" "30e611bd9b33af3e6a5a22cf7497de78") ;;; Generated autoloads from reftex-toc.el (autoload 'reftex-toc "reftex-toc" "\ ------------------------------------------------------------ revno: 117907 fixes bug: http://debbugs.gnu.org/18496 committer: Tassilo Horn branch nick: build timestamp: Sun 2014-09-21 11:34:02 +0200 message: Use font-lock-face property; derive from special-mode * lisp/textmodes/reftex-sel.el (reftex-select-label-mode) (reftex-select-bib-mode, reftex-insert-docstruct): Derive modes from special-mode (instead of fundamental-mode) and propertize with font-lock-face instead of just face. * lisp/textmodes/reftex-toc.el (reftex-toc-mode, reftex-toc): Ditto. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-09-19 17:33:11 +0000 +++ lisp/ChangeLog 2014-09-21 09:34:02 +0000 @@ -1,3 +1,12 @@ +2014-09-21 Tassilo Horn + + * textmodes/reftex-sel.el (reftex-select-label-mode) + (reftex-select-bib-mode, reftex-insert-docstruct): Derive modes + from special-mode (instead of fundamental-mode) and propertize + with font-lock-face instead of just face. (Bug#18496) + + * textmodes/reftex-toc.el (reftex-toc-mode, reftex-toc): Ditto. + 2014-09-19 Dmitry Gutov * emacs-lisp/lisp.el (lisp-completion-at-point): Only calculate === modified file 'lisp/textmodes/reftex-sel.el' --- lisp/textmodes/reftex-sel.el 2014-03-29 00:53:32 +0000 +++ lisp/textmodes/reftex-sel.el 2014-09-21 09:34:02 +0000 @@ -103,7 +103,7 @@ started with the command \\[reftex-reference].") ;;;###autoload -(define-derived-mode reftex-select-label-mode fundamental-mode "LSelect" +(define-derived-mode reftex-select-label-mode special-mode "LSelect" "Major mode for selecting a label in a LaTeX document. This buffer was created with RefTeX. It only has a meaningful keymap when you are in the middle of a @@ -149,7 +149,7 @@ started with the command \\[reftex-citation].") ;;;###autoload -(define-derived-mode reftex-select-bib-mode fundamental-mode "BSelect" +(define-derived-mode reftex-select-bib-mode special-mode "BSelect" "Major mode for selecting a citation key in a LaTeX document. This buffer was created with RefTeX. It only has a meaningful keymap when you are in the middle of a @@ -296,7 +296,7 @@ (setq to (point)) (when font (put-text-property from to - 'face reftex-file-boundary-face)) + 'font-lock-face reftex-file-boundary-face)) (when toc-buffer (if mouse-face (put-text-property from (1- to) @@ -314,7 +314,7 @@ (setq to (point)) (when font (put-text-property from to - 'face reftex-section-heading-face)) + 'font-lock-face reftex-section-heading-face)) (when toc-buffer (if mouse-face (put-text-property from (1- to) @@ -353,7 +353,7 @@ (setq to (point)) (put-text-property (- (point) (length label)) to - 'face (if comment + 'font-lock-face (if comment 'font-lock-comment-face label-face)) (goto-char to)) @@ -383,14 +383,14 @@ (setq index-tag (format "<%s>" (nth 1 cell))) (and font (put-text-property 0 (length index-tag) - 'face reftex-index-tag-face index-tag)) + 'font-lock-face reftex-index-tag-face index-tag)) (insert label-indent index-tag " " (nth 7 cell)) (when font (setq to (point)) (put-text-property (- (point) (length (nth 7 cell))) to - 'face index-face) + 'font-lock-face index-face) (goto-char to)) (insert "\n") (setq to (point)) @@ -690,7 +690,7 @@ eoe (or (next-single-property-change (point) :data) (point-max))) (setq ovl (reftex-make-overlay boe eoe)) (push (list data ovl separator) reftex-select-marked) - (reftex-overlay-put ovl 'face reftex-select-mark-face) + (reftex-overlay-put ovl 'font-lock-face reftex-select-mark-face) (reftex-overlay-put ovl 'before-string (if separator (format "*%c%d* " separator === modified file 'lisp/textmodes/reftex-toc.el' --- lisp/textmodes/reftex-toc.el 2014-04-04 12:10:22 +0000 +++ lisp/textmodes/reftex-toc.el 2014-09-21 09:34:02 +0000 @@ -129,7 +129,7 @@ (defvar reftex-toc-include-index-indicator nil) (defvar reftex-toc-max-level-indicator nil) -(define-derived-mode reftex-toc-mode fundamental-mode "TOC" +(define-derived-mode reftex-toc-mode special-mode "TOC" "Major mode for managing Table of Contents for LaTeX files. This buffer was created with RefTeX. Press `?' for a summary of important key bindings. @@ -279,7 +279,7 @@ " (abbreviate-file-name reftex-last-toc-master))) (if (reftex-use-fonts) - (put-text-property (point-min) (point) 'face reftex-toc-header-face)) + (put-text-property (point-min) (point) 'font-lock-face reftex-toc-header-face)) (put-text-property (point-min) (point) 'intangible t) (put-text-property (point-min) (1+ (point-min)) 'xr-alist xr-alist) ------------------------------------------------------------ revno: 117906 committer: Dmitry Gutov branch nick: trunk timestamp: Fri 2014-09-19 21:33:11 +0400 message: * lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Don't use `lisp--local-variables-completion-table' in the `lisp--form-quoted-p' case. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-09-19 03:41:42 +0000 +++ lisp/ChangeLog 2014-09-19 17:33:11 +0000 @@ -5,6 +5,9 @@ (lisp-completion-at-point): Move `end' back if it's after quote. If in comment or string, only complete when after backquote. (Bug#18265) + (lisp-completion-at-point): Don't use + `lisp--local-variables-completion-table' in the + `lisp--form-quoted-p' case. 2014-09-19 Dmitry Gutov === modified file 'lisp/emacs-lisp/lisp.el' --- lisp/emacs-lisp/lisp.el 2014-09-19 03:41:42 +0000 +++ lisp/emacs-lisp/lisp.el 2014-09-19 17:33:11 +0000 @@ -979,18 +979,13 @@ :company-docsig #'lisp--company-doc-string :company-location #'lisp--company-location)) ((lisp--form-quoted-p beg) - (list nil (completion-table-merge - ;; FIXME: Is this table useful for this case? - lisp--local-variables-completion-table - (apply-partially #'completion-table-with-predicate - obarray - ;; Don't include all symbols - ;; (bug#16646). - (lambda (sym) - (or (boundp sym) - (fboundp sym) - (symbol-plist sym))) - 'strict)) + (list nil obarray + ;; Don't include all symbols + ;; (bug#16646). + :predicate (lambda (sym) + (or (boundp sym) + (fboundp sym) + (symbol-plist sym))) :annotation-function (lambda (str) (if (fboundp (intern-soft str)) " ")) :company-doc-buffer #'lisp--company-doc-buffer