aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog19
-rw-r--r--src/buffer.c14
-rw-r--r--src/doc.c6
-rw-r--r--src/image.c23
-rw-r--r--src/xfaces.c2
5 files changed, 49 insertions, 15 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2353cc1eca2..71af862cdac 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,22 @@
12012-02-07 Chong Yidong <cyd@gnu.org>
2
3 * buffer.c (Fbuffer_local_variables)
4 (buffer_lisp_local_variables): Handle unbound vars correctly;
5 don't let Qunbound leak into Lisp.
6
72012-02-07 Glenn Morris <rgm@gnu.org>
8
9 * image.c (Fimagemagick_types): Doc fix.
10
11 * image.c (imagemagick-render-type): Change it from a lisp object
12 to an integer. Move the doc here from the lisp manual.
13 Treat all values not equal to 0 the same.
14
152012-02-06 Chong Yidong <cyd@gnu.org>
16
17 * doc.c (store_function_docstring): Avoid applying docstring of
18 alias to base function (Bug#2603).
19
12012-02-04 Andreas Schwab <schwab@linux-m68k.org> 202012-02-04 Andreas Schwab <schwab@linux-m68k.org>
2 21
3 * .gdbinit (pp1, pv1): Remove redundant defines. 22 * .gdbinit (pp1, pv1): Remove redundant defines.
diff --git a/src/buffer.c b/src/buffer.c
index 01418956c8d..a6f61a1936a 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1022,7 +1022,10 @@ buffer_lisp_local_variables (struct buffer *buf)
1022 if (buf != current_buffer) 1022 if (buf != current_buffer)
1023 val = XCDR (elt); 1023 val = XCDR (elt);
1024 1024
1025 result = Fcons (Fcons (XCAR (elt), val), result); 1025 result = Fcons (EQ (val, Qunbound)
1026 ? XCAR (elt)
1027 : Fcons (XCAR (elt), val),
1028 result);
1026 } 1029 }
1027 1030
1028 return result; 1031 return result;
@@ -1064,9 +1067,12 @@ No argument or nil as argument means use current buffer as BUFFER. */)
1064 idx = PER_BUFFER_IDX (offset); 1067 idx = PER_BUFFER_IDX (offset);
1065 if ((idx == -1 || PER_BUFFER_VALUE_P (buf, idx)) 1068 if ((idx == -1 || PER_BUFFER_VALUE_P (buf, idx))
1066 && SYMBOLP (PER_BUFFER_SYMBOL (offset))) 1069 && SYMBOLP (PER_BUFFER_SYMBOL (offset)))
1067 result = Fcons (Fcons (PER_BUFFER_SYMBOL (offset), 1070 {
1068 PER_BUFFER_VALUE (buf, offset)), 1071 Lisp_Object sym = PER_BUFFER_SYMBOL (offset);
1069 result); 1072 Lisp_Object val = PER_BUFFER_VALUE (buf, offset);
1073 result = Fcons (EQ (val, Qunbound) ? sym : Fcons (sym, val),
1074 result);
1075 }
1070 } 1076 }
1071 } 1077 }
1072 1078
diff --git a/src/doc.c b/src/doc.c
index 7bdb8c658b0..02db4dde072 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -502,10 +502,12 @@ aren't strings. */)
502/* Scanning the DOC files and placing docstring offsets into functions. */ 502/* Scanning the DOC files and placing docstring offsets into functions. */
503 503
504static void 504static void
505store_function_docstring (Lisp_Object fun, EMACS_INT offset) 505store_function_docstring (Lisp_Object obj, EMACS_INT offset)
506/* Use EMACS_INT because we get offset from pointer subtraction. */ 506/* Use EMACS_INT because we get offset from pointer subtraction. */
507{ 507{
508 fun = indirect_function (fun); 508 /* Don't use indirect_function here, or defaliases will apply their
509 docstrings to the base functions (Bug#2603). */
510 Lisp_Object fun = SYMBOLP (obj) ? XSYMBOL (obj)->function : obj;
509 511
510 /* The type determines where the docstring is stored. */ 512 /* The type determines where the docstring is stored. */
511 513
diff --git a/src/image.c b/src/image.c
index f4def3e681e..b2951dd70fb 100644
--- a/src/image.c
+++ b/src/image.c
@@ -7617,7 +7617,6 @@ imagemagick_load_image (struct frame *f, struct image *img,
7617 EMACS_INT ino; 7617 EMACS_INT ino;
7618 int desired_width, desired_height; 7618 int desired_width, desired_height;
7619 double rotation; 7619 double rotation;
7620 EMACS_INT imagemagick_rendermethod;
7621 int pixelwidth; 7620 int pixelwidth;
7622 ImageInfo *image_info; 7621 ImageInfo *image_info;
7623 ExceptionInfo *exception; 7622 ExceptionInfo *exception;
@@ -7798,9 +7797,8 @@ imagemagick_load_image (struct frame *f, struct image *img,
7798 went ok. */ 7797 went ok. */
7799 7798
7800 init_color_table (); 7799 init_color_table ();
7801 imagemagick_rendermethod = (INTEGERP (Vimagemagick_render_type) 7800
7802 ? XINT (Vimagemagick_render_type) : 0); 7801 if (imagemagick_render_type == 0)
7803 if (imagemagick_rendermethod == 0)
7804 { 7802 {
7805 size_t image_height; 7803 size_t image_height;
7806 7804
@@ -7850,8 +7848,7 @@ imagemagick_load_image (struct frame *f, struct image *img,
7850 } 7848 }
7851 DestroyPixelIterator (iterator); 7849 DestroyPixelIterator (iterator);
7852 } 7850 }
7853 7851 else /* imagemagick_render_type != 0 */
7854 if (imagemagick_rendermethod == 1)
7855 { 7852 {
7856 /* Magicexportimage is normally faster than pixelpushing. This 7853 /* Magicexportimage is normally faster than pixelpushing. This
7857 method is also well tested. Some aspects of this method are 7854 method is also well tested. Some aspects of this method are
@@ -7986,6 +7983,7 @@ DEFUN ("imagemagick-types", Fimagemagick_types, Simagemagick_types, 0, 0, 0,
7986Each entry in this list is a symbol named after an ImageMagick format 7983Each entry in this list is a symbol named after an ImageMagick format
7987tag. See the ImageMagick manual for a list of ImageMagick formats and 7984tag. See the ImageMagick manual for a list of ImageMagick formats and
7988their descriptions (http://www.imagemagick.org/script/formats.php). 7985their descriptions (http://www.imagemagick.org/script/formats.php).
7986You can also try the shell command: `identify -list format'.
7989 7987
7990Note that ImageMagick recognizes many file-types that Emacs does not 7988Note that ImageMagick recognizes many file-types that Emacs does not
7991recognize as images, such as C. See `imagemagick-types-inhibit'. */) 7989recognize as images, such as C. See `imagemagick-types-inhibit'. */)
@@ -8958,8 +8956,17 @@ The value can also be nil, meaning the cache is never cleared.
8958The function `clear-image-cache' disregards this variable. */); 8956The function `clear-image-cache' disregards this variable. */);
8959 Vimage_cache_eviction_delay = make_number (300); 8957 Vimage_cache_eviction_delay = make_number (300);
8960#ifdef HAVE_IMAGEMAGICK 8958#ifdef HAVE_IMAGEMAGICK
8961 DEFVAR_LISP ("imagemagick-render-type", Vimagemagick_render_type, 8959 DEFVAR_INT ("imagemagick-render-type", imagemagick_render_type,
8962 doc: /* Choose between ImageMagick render methods. */); 8960 doc: /* Integer indicating which ImageMagick rendering method to use.
8961The options are:
8962 0 -- the default method (pixel pushing)
8963 1 -- a newer method ("MagickExportImagePixels") that may perform
8964 better (speed etc) in some cases, but has not been as thoroughly
8965 tested with Emacs as the default method. This method requires
8966 ImageMagick version 6.4.6 (approximately) or later.
8967*/);
8968 /* MagickExportImagePixels is in 6.4.6-9, but not 6.4.4-10. */
8969 imagemagick_render_type = 0;
8963#endif 8970#endif
8964 8971
8965} 8972}
diff --git a/src/xfaces.c b/src/xfaces.c
index 617097d056b..bcb04188aeb 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -3360,7 +3360,7 @@ update_face_from_frame_parameter (struct frame *f, Lisp_Object param,
3360 3360
3361 /* Changing the background color might change the background 3361 /* Changing the background color might change the background
3362 mode, so that we have to load new defface specs. 3362 mode, so that we have to load new defface specs.
3363 Call frame-update-face-colors to do that. */ 3363 Call frame-set-background-mode to do that. */
3364 XSETFRAME (frame, f); 3364 XSETFRAME (frame, f);
3365 call1 (Qframe_set_background_mode, frame); 3365 call1 (Qframe_set_background_mode, frame);
3366 3366